std::allocator_traits<Alloc>::destroy
Von cppreference.com
< cpp | memory | allocator traits
| 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
| Dieser Abschnitt ist unvollständig Grund: kein Beispiel |
[edit] Siehe auch
| (bis C++20) |
destruiert ein Objekt im allokierten Speicher (public member function of std::allocator<T>) |