Union !!
-
ALso ich weiß das ich eine Klasse erstellen kann in welcher die Members sich den Speicher teilen mit hilfe des Schlüsseltworts union. Also ca. so :
union MeineKlasse { float x,y,z; float u,v,w; }
so nun teilen sich alle Members der Union den Speicher... Ich will aber das sich immer nur 2 Bestimmte Members den Speicher teilen wie funktioniert das ???
-
Wenn ich Dich richtig verstehe, dann willst Du so etwas hier machen:
union MeineKlasse { struct { float a, b, c; } TeilA; struct { float x, y, z; } TeilB; };
-
Danke erstmal.... So wie in deinem Code müstte jetzt doch x,y,z sich einen Speicher bereich teilen und u,v,w auch einen ? Wenn ja...
Denke ich das löst mein Prob Ich will aber eigentlich sowas machen was ja eigentlich kein großer unterschied ist.union MeineKlasse { struct { float x,u; } TeilA; struct { float y,v; } TeilB; struct { float z,w; } TeilC; };
Ich hoffe das Stimmt so das sich nun x und u ein Speicherbereich teilen
-
MannyDasMammut schrieb:
... Ich will aber das sich immer nur 2 Bestimmte Members den Speicher teilen ...
Ups - diesen Satz habe ich doch glatt überlesen... Deine zweite Fassung sollte also wie gewünscht funktionieren.
Mir fällt da noch etwas ein. Mit dieser Version kannst Du bequem ein Array benutzen:
struct MeineKlasse { union { float a, b, c; } Teil[2]; };
Die Elemente Teil[0].a, Teil[0].b unc Teil[0].c teilen sich den gleichen Speicher; ebenso die Elemente Teil[1].a, Teil[1].b und Teil[1].c.