Defined in header <memory> | ||
---|---|---|
template< class T > static void destroy( Alloc& a, T* p ); | (since C++11) |
Calls the destructor of the object pointed to by p
. If possible, does so by calling a.destroy(p)
. If not possible (e.g. a
does not have the member function destroy()
), then calls the destructor of *p
directly, as p->~T()
.
a | - | allocator to use for destruction |
p | - | pointer to the object being destroyed |
(none).
Because this function provides the automatic fall back to direct call to the destructor, the member function destroy()
is an optional Allocator requirement since C++11.
(deprecated in C++17)(removed in C++20) | destructs an object in allocated storage (public member function of std::allocator<T> ) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/cpp/memory/allocator_traits/destroy