Ciao a tutti,
avrei un chiarimento da chiedere in merito alla gestione della memoria heap in C++.
Io so che per ogni istruzione del tipo "Object* o = new Object(..)" deve corrispondere una "delete o", in modo che la memoria puntata da o venga liberata nell'heap.
Mettiamo il caso che abbia creato una struttura dati (una list o un set) che contiene dei puntatori a vari oggetti creati (mediante "new") nel corso dello svolgimento di un programma. Nel momento in cui effettuo una chiamata del tipo "list.clear()" posso stare tranquillo che la memoria occupata dagli oggetti istanziati venga effettivamente liberata ? Oppure questa chiamata si limita ad azzerare solo i puntatori, quindi perdo i riferimenti agli oggetti puntati nell'heap e questa memoria è sprecata ?
Grazie,
Alessandro