Position eines Elementes einer Struktur herausfinden
Verfasst: Mo Apr 16, 2012 5:08 pm
Ich überlege zur Zeit an folgendem Problem. Entweder sehe ich den Wald vor lauter Bäumen nicht, oder ich habe ein Problem. ^^
Man nehme eine Beispielstruktur:
Ich möchte jetzt wissen, wo sich b im Speicher befindet, wenn ich mit new eine Instanz der Klasse erstelle.
Wenn ich eine Instanz anlege, so liegt die Instanz beispielsweise bei 0x1000, damit liegt Instanz->a bei Adresse 0x1000 und Instanz->b bei 0x1004. So könnte ich jetzt herausfinden, dass a 0 Bytes nach Beginn der Struktur liegt, und b 4 Bytes nach Beginn der Struktur.
Und jetzt die Frage, die das Ganze für mich interessant macht: Wie finde ich das raus, ohne eine Instanz anzulegen!?
Ich bräuchte also etwas wie offsetof( Example::a ).
Man nehme eine Beispielstruktur:
Code: Alles auswählen
class Example
{
int a;
int b;
};
Wenn ich eine Instanz anlege, so liegt die Instanz beispielsweise bei 0x1000, damit liegt Instanz->a bei Adresse 0x1000 und Instanz->b bei 0x1004. So könnte ich jetzt herausfinden, dass a 0 Bytes nach Beginn der Struktur liegt, und b 4 Bytes nach Beginn der Struktur.
Und jetzt die Frage, die das Ganze für mich interessant macht: Wie finde ich das raus, ohne eine Instanz anzulegen!?
Ich bräuchte also etwas wie offsetof( Example::a ).