struct übergeben
-
hallo wenn ich ein struct mitteln einer function an ein anderes object übergebe wird zum zeitpunkt der Übergabe eine Kopie erstellt? Also kann ich grob davon ausgehen, dass das Speicher verhalten das selbe wie bei einem int ist?
ODer muss ich mir sorgen machen dass ein struct out of scope läuft und ich in nen Müllhaufen zeige?
-
Spielt keine Rolle, weil das Objekt während des Funktionsaufrufes nicht "out of scope" geraten kann. Dennoch: Ja, das verhält sich genauso wie ein
int.
-
danke.
es soll ja auch nach dem funktionsaufruf im neuen object weiterleben, deswegen die frage

-
In dem Fall musst du natürlich eine Kopie im anderen Objekt erstellen.
-
genau auf das wollt ich raus

Aber dieses kopieren passiert ja bei einem normalen Funktionsaufruf?
-
wwwinternertwww schrieb:
genau auf das wollt ich raus

Aber dieses kopieren passiert ja bei einem normalen Funktionsaufruf?
naja, so wie Du die Frage stellst, jein.
void Test(structur s); // normaler Funktionsaufruf void Test(structur* s); // normaler Funktionsaufruf void Test(structur &s); // normaler FunktionsaufrufAlles drei sind normale Funktionsaufrufe, aber nur einer übergibt die Struktur "by Value"...