Re: [Hackmeeting] [OT] c++ std::map e memory leaks...

Borrar esta mensaxe

Responder a esta mensaxe
Autor: vecna
Data:  
Para: hackmeeting
Asunto: Re: [Hackmeeting] [OT] c++ std::map e memory leaks...
giantkiar@??? wrote:
> ho pensato immediatamente a questa
> mailing-list ed alla miriade di persona valide che postano e che da
> bravi smanettoni avranno sicuramente delle ottime conoscenze informatiche.


primo grande errore

> In questo banalissimo pezzo di codice
>
> http://pastie.org/2071920


piango quando vedo queste cose:

vector<map<int, int*>*>* vettore = new vector<map<int, int*>*>();

in generale, non puoi sperare di trovare gli errori se usi roba così
nidificata (amenoché, non lo fai dopo aver programmato le funzioni con
assoluta correttezza).

> ho ricreato un problema che mi sta distruggendo in questi giorni: creo
> un vettore di mappe (tutto dinamicamente) dove ogni mappa memorizza un
> puntatore ad int...poi voglio deallocare il tutto liberando la
> memoria...per ogni new esiste una delete, ma...assurdo...non riesco a
> liberare la RAM !!!


io vedo che push_back in vettore, ma mai pop_back. "vettore" lo stai
riempiendo di puntatori, anche se poi sono di oggetti distrutti.

> Voi vedere qualcosa di anomalo?


solo la mancanza della pop_back, (e poi, usi una free anziché una delete
?). comunque, in generale, è meglio se chiedi su stackoverflow.com o su
altre community web dedicate a quello... è molto poco efficente farlo su
una ml.

ciao