Originariamente inviato da infinitejustice
....
Se la allochi senza puntatori lo spazio allocato viene liberato quando la variabile esce dal suo scope.![]()
tutto quello che si alloca dinamicamente non viene MAI distrutto in modo implicito !!
quindi che tu faccia
int* puntatore = new int(5);
oppure
new int(5);
è la stessa cosa.
nel secondo caso, NON c'è modo di deallocare quel 5(sia dentro che fuori dalla scope di quella istruzione).
la new è come se fosse una funzione che alloca memoria e ti ritorna un puntatore. quindi nel secondo caso lo alloca e perdi il puntatore...

Rispondi quotando