Pointer umbiegen - delete?
-
Hallo,
ich frage mich ob folgendes ein speicherleck erzeugt oder nicht:
Call P { int* a; void delete_p(P* p) { if(p->a) delete [] p->a; } }; //main z.B P* p = NULL; p->a = new int[5]; //mache was mit p->a int * b = p->a; int * c = new int[10]; //füll z.B c //pointer umbiegen b = c; p->delete_p(p); delete [] b;wenn ich den pointer umbiege - wird dann von P das p richtig gelöscht?
-
Ja, sieht alles richtig aus.
(Call P?!!?)
-
sag bloß du kennst Call nicht ...
nene...sollte natürlich Class heißen..danke