Allgemeine Frage zu Pointern
-
Hallo!
Object *x = new Object(); Object *y = x;Wenn ich jetzt "delete y" bzw. "y = 0" durchführe, beeinflusse ich dadurch auch "x"?
danke,
-
du hast doch überhaupt kein y da...
-
pixsta schrieb:
Wenn ich jetzt "delete y" bzw. "y = 0" durchführe, beeinflusse ich dadurch auch "x"?
x wird nicht beeinflusst - aber dein Objekt ist weg und x solltest du danach auch nicht mehr nutzen

-
[unsinn]
-
Neku schrieb:
pixsta schrieb:
Wenn ich jetzt "delete y" bzw. "y = 0" durchführe, beeinflusse ich dadurch auch "x"?
x wird nicht beeinflusst - aber dein Objekt ist weg und x solltest du danach auch nicht mehr nutzen

also "y=0" macht den pointer x auch "unbrauchbar"?
-
pixsta schrieb:
also "y=0" macht den pointer x auch "unbrauchbar"?
Nein. Durch die Zuweisung änderst du nur, wohin dieser Zeiger zeigt.
delete beeinflusst das Objekt, auf das der Zeiger zeigt. Übriges ändert sich auch y durch delete nicht.
-
Hallo
nein, denn y = 0 beeinflußt ausschließ y, nicht x.
Aber delete y löscht die im Speicher angelegte Instanz, auf die auch x zeigt. Die Werte von y und x selber (also die Speicheradressen, wo die Instanz war) bleiben trotzallem gleich, auch wenn y und x dann ungültig sind./Edit : viel zu langsam...
bis bald
akari
-
seit wann kann man posintern einen wert zuweißen ich dachte nur vaiablen...
übrigens das kann man auch in einem programm testen oder?
-
wodas schrieb:
seit wann kann man posintern einen wert zuweißen ich dachte nur vaiablen...
Tja, falsch gedacht.
übrigens das kann man auch in einem programm testen oder?
Geht so. Wenn es um undefiniertes Verhalten geht, sind Testaussagen wenig wert. Dass etwas funktioniert, bedeutet nicht, dass es richtig ist.
-
ok. danke.