Frage zu Struktur
-
#include <iostream> using namespace std; struct Test { int v; }; void Func ( Test *obj, Test &dbg) { cout<<obj[0].v << endl; cout<<obj[1].v << endl; cout<<"-----------------------\n"; cout<<dbg.v << endl; // Kann ich hier auch irgendwie über das Objekt dbg den Wert vom 2ten Element aus der Struktur ausgeben? Also so das ich 4 ausgeben bekomme. } int main(int argc, char* argv[]) { Test *obj = new Test [4]; obj[0].v = 8; obj[1].v = 20; obj[0].v = 2; obj[1].v = 4; Func ( obj, *obj ); system("PAUSE"); return 0; }
-
Oops, ich sehe gerade das meine Struktur falsch war so ist sie richtig.
obj[0].v = 8; obj[1].v = 20; obj[2].v = 2; obj[3.v = 4;
-
Du meinst wohl eher "Frage zu Referenzen", denn ob das nun auf ein struct verweist oder auf irgendetwas anderes ist doch letztlich egal.
Du kannst von dem referenzierten Objekt die Adresse nehmen und erhältst dann auch wirklich einen Zeiger auf dieses Objekt. Nicht einen Zeiger auf die Referenz oder ähnliches, falls du das denken solltest. Damit kannst du dann wieder Zeigerarithmetik machen und an die Objekte dahinter gelangen.
P.S.: Ich hoffe dein Code war nur Quick&Dirty als Beispiel und du programmierst nicht wirklich so, besonders nicht dein Zeigergrefrickel und manuelles new für Felder.