Speicherverwaltung auf niedriger Ebene
Von de.cppreference.net
Der new-Ausdruck ist die einzige Möglichkeit, 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 erhält Speicher durch Aufruf einer Allokationsfunktion. Ein delete-Ausdruck zerstört ein am weitesten abgeleitetes Objekt oder ein Array, das durch einen new-Ausdruck erstellt wurde, und ruft die Deallokationsfunktion auf. Die standardmäßigen Allokations- und Deallokationsfunktionen sowie zugehörige Funktionen, Typen und Objekte werden im Header <new> deklariert.
Definiert im Header
<new> | |
Funktionen |
|
|
Allokierungsfunktionen
(Funktion) |
|
|
Deallokierungsfunktionen
(Funktion) |
|
|
(C++11)
|
ermittelt den aktuellen new_handler
(Funktion) |
|
registriert einen new_handler
(Funktion) |
|
Klassen |
|
|
Exception, die bei fehlgeschlagener Speicherallokation geworfen wird
(Klasse) |
|
|
(C++11)
|
Exception, die bei Allokation eines Arrays mit ungültiger Länge geworfen wird
(Klasse) |
|
(C++17)
|
Typ zur Übergabe der Ausrichtung an ausrichtungsbewusste Allokierungs- und Deallokierungsfunktionen
(Enum) |
Typen |
|
|
Funktionszeigertyp des new_handler
(Typedef) |
|
Objekte |
|
|
ein Tag zur Auswahl einer nicht-werfenden
Allokierungsfunktion
(Tag) |
|
|
ein Tag zur Auswahl von Destroying-Delete-Überladungen von
operator delete
(Tag) |
|
Objektzugriff |
|
|
(C++17)
|
Zeigeroptimierungsbarriere
(Funktionstemplate) |