Originariamente inviato da MItaly
Non è questione di memory leak, ma appunto del non richiamare costruttori e distruttori, per cui vai nell'undefined behavior. malloc/realloc/free si possono usare solo con i tipi POD (tipi primitivi, struct e class solo se prive di metodi virtuali e con costruttori e distruttori "banale"), mentre new e delete vanno bene in ogni caso.

Comunque secondo me l'approccio migliore è iniziare fin da subito ad usare la STL (la classe std::vector, nello specifico) in modo da evitare di fare casino con puntatori e memory leaks fin dall'inizio.
Si, solitamente uso i std::vector o le std::list. Però mi piace capire come sono implementati e come funzionano!