In C++ werden Objekte auf dem Heap mit new alloziert und delete gelöscht. Das sind quasi die Äquivalente zu malloc und free in C.

Wesentlicher Unterschied: new und delete rufen die Konstruktoren, bzw. Destruktoren der jeweiligen Klassen auf (seit Standard-C++ per Aufruf von operator new(), bzw. operator delete(), aber das nur am Rande).

Die entsprechende Funktionalität befindet sich beim GCC in der libsup++.

Theoretisch kannst Du auch malloc und free benutzen, musst Dich dann aber selber um Konstruktion und Destruktion Deiner Objekte kümmern. Praktisch hat das den Nachteil, das man leicht etwas übersieht und Speicherlecks entstehen, sowie, dass man mehr Code schreiben muss, damit das alles sauber funktioniert.

Mich hat die fehlende lipsup++ weit weniger gestört als der fehlende support im Debugger des AVRStudio.