Schwieriger als in Delphi? Kann ich mir kaum vorstellen. Bei beiden kann man Objekte erzeugen und vergessen, sie wieder wegzuräumen. Wenn das in Intervallen und/oder Schleifen passiert, vervielfacht sich das kleine Leck - und genau in die Richtung geht meine Vermutung.
In der Tat! Heutzutage verwendet man eigentlich in C++ kein new oder malloc mehr. Die STL bietet einen unfangreichen Satz an Smart-Pointern, so dass man darauf nicht mehr angewiesen ist. Ausnahmen sind die Verwendung anderer Laufzeitumgebungen, die das Erstellen von Objekten mit new voraussetzen.
Anderes Beispiel:
Delphi: dlg := new TMyDialog(..) --> dlg.Free();
C++: MyDialog dlg(..);
Stack-alloziierte Objekte gibt es in Delphi nicht, deshalb muss man sie auch wegräumen.