Ich hätte da noch 2 Verständnisfragen
1. Ich ging immer davon aus, dass wenn ich
Code:
delete []Pointer;
mache, dass der nicht mehr erreichbar ist. Scheinbar ist er es aber doch, wie man an diesem Beispiel sieht:
Code:
grosseListe = new Koordinaten[10+5];
for(i=0;i<10;i++) grosseListe[i] = liste[i];
for(i=0;i<5;i++) grosseListe[10+i] = neueDaten[i];
delete [] liste;
liste = grosseListe;
Gehe ich richtig in der Annahme, dass
Code:
delete []liste;
lediglich den Pointer wieder auf NULL setzt und mit
Code:
liste = grosseListe;
quasi der Pointer neu gesetzt wird?
2. Wenn ich einen Pointer auf einen Array habe der da heisst:
Code:
grosseListe = new Koordinaten[10+5];
und dann in einer nächsten Schleifen Iteration den gleichen Befehl wieder ausführe, diesmal aber mit einem grösseren Array
Code:
grosseListe = new Koordinaten[15 + 5];
, dass dann quasi grosseListe "formatiert" wird? D.h. wenn z.B. in
Code:
grosseListe[1].X
einen Wert drin hatte, wird der mit
Code:
grosseListe = new Koordinaten[15 + 5];
"gelöscht"? D.h. er ist nachher in der neuen Grossen Liste nicht mehr drin?