Der Martin: Anfängerfrage zu Strings in C

Beitrag lesen

Hallo,

Rein von der Speicherverwaltung her unterscheidet sich eine C++-Klasse und eine C-struct kein bisschen
Das verstehe ich jetzt nicht oder ich habe C nicht mehr ausreichend im Kopf...

beides möglich ... ;-)

Darf denn eine C-Struktur auch Zeiger auf weitere, nicht initialisierte Speicherstrukturen enthalten?

Aber natürlich!

Ich hatte das so verstanden, dass durch die Verwendung der Struktur nichts instantiiert wird, was außerhalb der Struklur liegt, sondern nur sie Speicherbereiche, die zur Struktur gehören und innerhalb eines geschlossenen Speicherbereiches untergebracht werden.

Äh, wie bitte? Das habe *ich* jetzt nicht verstanden.
Eine Struktur in C (und auch C++) ist nichts anderes als eine "geordnete" Zusammenfassung mehrerer Variablen, die dadurch automatisch zu Feldern ("members") der Struktur werden und ihrerseits beliebige komplexe Gebilde sein können - auch Arrays, weitere verschachtelte Strukturen, Zeiger auf weitere Strukturen, Zeiger auf Funktionen usw.

Und nichts anderes ist auch eine Klasse in C++. Nur dass bei einer Klasse implizit das erste Feld in der Struktur die vtable ist, eine Liste von Zeigern auf Funktionen, hier: auf die Methoden der Klasse (entfällt anscheinend, wenn die Klasse keine Methoden hat, wie Christian festgestellt hat).

So long,
 Martin

--
F: Was macht ein Offizier, der in der Nase bohrt?
A: Er holt das Letzte aus sich heraus.