Standard library header <new>
From cppreference.net
Dieser Header ist Teil der dynamischen Speicherverwaltung Bibliothek und bietet insbesondere Low-Level-Speicherverwaltungsfunktionen an.
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 Allokations- und Deallokationsfunktionen
(Enumeration) |
|
Typen |
||
|
Funktionszeigertyp des New-Handlers
(Typdefinition) |
||
Tags |
||
|
Ein Tag zur Auswahl einer nicht-werfenden
Allokationsfunktion
(Tag) |
||
|
Ein Tag zur Auswahl der Destroying-Delete-Überladungen von
operator delete
(Tag) |
||
Konstanten |
||
|
Minimale Verschiebung zur Vermeidung von False Sharing
Maximale Verschiebung zur Förderung von True Sharing (Konstante) |
||
Funktionen |
||
|
Allokationsfunktionen
(Funktion) |
||
|
Deallokationsfunktionen
(Funktion) |
||
|
(C++11)
|
Ermittelt den aktuellen New-Handler
(Funktion) |
|
|
Registriert einen neuen Handler
(Funktion) |
||
|
(C++17)
|
Pointer-Optimierungsbarriere
(Funktionstemplate) |
|
Übersicht
// alle freistehend namespace std { // Speicherzuweisungsfehler class bad_alloc; class bad_array_new_length; struct destroying_delete_t { explicit destroying_delete_t() = default; }; inline constexpr destroying_delete_t destroying_delete{}; // globaler Operator new-Steuerung enum class align_val_t : size_t { }; struct nothrow_t { explicit nothrow_t() = default; }; extern const nothrow_t nothrow; using new_handler = void (*)(); new_handler get_new_handler() noexcept; new_handler set_new_handler(new_handler new_p) noexcept; // Zeiger-Optimierungsbarriere template<class T> constexpr T* launder(T* p) noexcept; // hardware interference size inline constexpr size_t hardware_destructive_interference_size = /* implementierungsdefiniert */; inline constexpr size_t hardware_constructive_interference_size = /* implementierungsdefiniert */; } // Speicherallokation und -freigabe void* operator new(std::size_t size); void* operator new(std::size_t size, std::align_val_t alignment); void* operator new(std::size_t size, const std::nothrow_t&) noexcept; void* operator new(std::size_t size, std::align_val_t alignment, const std::nothrow_t&) noexcept; void operator delete(void* ptr) noexcept; void operator delete(void* ptr, std::size_t size) noexcept; void operator delete(void* ptr, std::align_val_t alignment) noexcept; void operator delete(void* ptr, std::size_t size, std::align_val_t alignment) noexcept; void operator delete(void* ptr, const std::nothrow_t&) noexcept; void operator delete(void* ptr, std::align_val_t alignment, const std::nothrow_t&) noexcept; void* operator new[](std::size_t size); void* operator new[](std::size_t size, std::align_val_t alignment); void* operator new[](std::size_t size, const std::nothrow_t&) noexcept; void* operator new[](std::size_t size, std::align_val_t alignment, const std::nothrow_t&) noexcept; void operator delete[](void* ptr) noexcept; void operator delete[](void* ptr, std::size_t size) noexcept; void operator delete[](void* ptr, std::align_val_t alignment) noexcept; void operator delete[](void* ptr, std::size_t size, std::align_val_t alignment) noexcept; void operator delete[](void* ptr, const std::nothrow_t&) noexcept; void operator delete[](void* ptr, std::align_val_t alignment, const std::nothrow_t&) noexcept; constexpr void* operator new(std::size_t size, void* ptr) noexcept; constexpr void* operator new[](std::size_t size, void* ptr) noexcept; void operator delete(void* ptr, void*) noexcept; void operator delete[](void* ptr, void*) noexcept;
Klasse std::bad_alloc
namespace std { class bad_alloc : public exception { public: // siehe Beschreibung für die Spezifikation der speziellen Elementfunktionen constexpr const char* what() const noexcept override; }; }
Klasse std::bad_array_new_length
namespace std { class bad_array_new_length : public bad_alloc { public: // siehe Beschreibung für die Spezifikation der speziellen Elementfunktionen constexpr const char* what() const noexcept override; }; }