Hallo Tom,
Das ist mMn genau die Stelle, an der der Übergang von klassischer Programmierung, die dann zur Not auch noch in Assembler stattfinden könnte zur OOP stattdfindet. Die Hochstprache schaltet als Zwischenstufe eine Typdefinition (Record, Struct) dazwischen.
Nein, das stimmt so nicht. Rein von der Speicherverwaltung her unterscheidet sich eine C++-Klasse und eine C-struct kein bisschen - eine C++-Klassehat halt zusätzlich noch interne Daten, die mitgespeichert werden (Referenzen auf die vtables, etc.), aber ob ich ein class Foo { public: int a; int b; }; order ein struct foo { int a; int b; }; habe ist das so gut wie das gleiche. Dagegen hat ein assoziatives Array in PHP (kommt rein semantisch einer C-Struct noch am nächsten) speicherverwaltungsmäßig überhaupt nichts mehr mit einer geschlossenen Datenstruktur zu tun. Genauso wie ein PHP-Objekt. In Java ist's dann noch mal etwas anderes.
Sprich: Speicherverwaltung hat *NICHTS*, aber auch gar *NICHTS* mit dem Programmierparadigma zu tun, wenn man jetzt mal von Assembler selbst absieht (das kann nämlich wirklich nur Offsets).
Viele Grüße,
Christian