Junior — Middle
Dokáže prekladač určiť objem pamäte, ktorý zaberajú štruktúry, pri prítomnosti dedičnosti v ich definíciách?
sobes.tech AI
Odpoveď od AI
V iOS (Objective-C alebo Swift) dedičnosť ovplyvňuje štruktúru objektov, ale prekladač zvyčajne dokáže určiť objem pamäte, ktorý zaberajú inštancie tried, pretože triedy majú pevne stanovenú štruktúru s prihliadnutím na dedičnosť.
Avšak, pre štruktúry (struct) v Swift dedičnosť nie je podporovaná, takže veľkosť štruktúry je určená priamo prekladačom na základe jej polí.
V prípade tried s dedičnosťou prekladač zohľadňuje všetky polia základných a odvodených tried, ako aj interné servisné údaje (napríklad ukazovatele na tabuľky metód), aby určil celkovú veľkosť objektu v pamäti.