Low-Level-Speicherverwaltung
Von cppreference.com
Der new-Ausdruck ist der einzige Weg, ein Objekt oder ein Array von Objekten mit dynamischer Speicherdauer zu erstellen, d.h. mit einer Lebensdauer, die nicht auf den Gültigkeitsbereich beschränkt ist, in dem es erstellt wird. Ein new-Ausdruck beschafft Speicher durch Aufrufen einer Allokationsfunktion. Ein delete-Ausdruck zerstört ein am höchsten abgeleitetes Objekt oder ein Array, das durch einen new-Ausdruck erstellt wurde, und ruft die Deallokationsfunktion auf. Die Standard-Allokations- und Deallokationsfunktionen sowie zugehörige Funktionen, Typen und Objekte sind im Header <new> deklariert.
| Definiert im Header
<new> | ||
Funktionen | ||
| Allokationsfunktionen (Funktion) | ||
| Deallokationsfunktionen (Funktion) | ||
| (C++11) |
holt den aktuellen new handler (Funktion) | |
| registriert einen new handler (Funktion) | ||
Klassen | ||
| Ausnahme, die ausgelöst wird, wenn die Speicherallokation fehlschlägt (Klasse) | ||
| (C++11) |
Ausnahme, die bei der Allokation eines Arrays mit ungültiger Länge ausgelöst wird (Klasse) | |
| (C++17) |
Typ, der zur Übergabe der Ausrichtung an ausrichtungsbewusste Allokations- und Deallokationsfunktionen verwendet wird (Enum) | |
Typen | ||
| Funktionszeigertyp des new handlers (Typedef) | ||
Objekte | ||
| ein Tag, der zur Auswahl einer nicht-auslösenden Allokationsfunktion verwendet wird (Tag) | ||
| ein Tag, der zur Auswahl von Destroying-Delete-Überladungen von operator delete verwendet wird (Tag) | ||
Objektzugriff | ||
| (C++17) |
Zeigeroptimierungsbarriere (Funktionstemplate) | |