Namensräume
Varianten
Aktionen

std::allocator_traits<Alloc>::destroy

Von cppreference.com
 
 
Speicherverwaltungsbibliothek
(nur Exposition*)
Algorithmen für uninitialisierten Speicher
(C++17)
(C++17)
(C++17)
Beschränkte uninitialisierte
Speicher-Algorithmen
C-Bibliothek

Allocatoren
Speicherressourcen
Unterstützung für Garbage Collection
(C++11)(bis C++23)
(C++11)(bis C++23)
(C++11)(bis C++23)
(C++11)(bis C++23)
(C++11)(bis C++23)
(C++11)(bis C++23)
Uninitialisierter Speicher
Explizites Lebenszeitmanagement
 
 
Definiert in Header <memory>
template< class T >
static void destroy( Alloc& a, T* p );
(seit C++11)
(constexpr seit C++20)

Ruft den Destruktor des Objekts auf, auf das p zeigt. Wenn möglich, geschieht dies durch Aufruf von a.destroy(p). Wenn dies nicht möglich ist (z. B. wenn Alloc nicht über die Memberfunktion destroy() verfügt), dann wird der Destruktor von *p direkt aufgerufen, als p->~T()(bis C++20)std::destroy_at(p)(seit C++20).

Inhalt

[edit] Parameter

a - Allocator, der zur Zerstörung verwendet wird
p - Zeiger auf das zu zerstörende Objekt

[edit] Rückgabewert

(keine)

[edit] Anmerkungen

Da diese Funktion den automatischen Rückfall auf den direkten Aufruf des Destruktors bereitstellt, ist die Memberfunktion destroy() seit C++11 eine optionale Allocator-Anforderung.

[edit] Beispiel

[edit] Siehe auch

(bis C++20)
destruiert ein Objekt im allokierten Speicher
(public member function of std::allocator<T>) [edit]