Dynamische Speicherallokierung

Speicher für neue Variablen lässt sich in C++ dynamisch per new anfordern. Der neu allokierte Speicher ist dann auf dem Heap, während normale lokale Variablen auf dem Stack des aktuellen Scopes liegen. Variablen auf dem Stack werden nach dem Ende des Scopes automatisch wieder freigegeben. Soll also eine Variable in einer Funktion länger leben als die Funktion selber, muss diese entweder per Call by Reference vom Aufrufer übergeben werden, oder innerhalb der Funktion mit new angelegt. Variablen die mit new angelegt worden sind, müssen auch vom Programmierer wieder gelöscht werden. Dafür gibt es das Schlüsselwort delete, dieses löscht die Variable im Heap und gibt den Speicher danach wieder frei.