Namespaces
Variants
Views
Actions

std::allocator<T>::destroy

From cppreference.com
< cpp‎ | memory‎ | allocator
 
 
Dynamic memory management
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Allocators
Garbage collection support
(C++11)(until C++23)
(C++11)(until C++23)
(C++11)(until C++23)
(C++11)(until C++23)
(C++11)(until C++23)
(C++11)(until C++23)



 
std::allocator
Member functions
(until C++20)
(until C++20)
allocator::destroy
(until C++20)
Non-member functions
 
Defined in header <memory>
void destroy( pointer p );
(1) (until C++11)
template< class U >
void destroy( U* p );
(2) (since C++11)
(deprecated in C++17)
(removed in C++20)

Calls the destructor of the object pointed to by p.

1) Calls p->~T().
2) Calls p->~U().

Contents

[edit] Parameters

p - pointer to the object that is going to be destroyed

[edit] Return value

(none)

[edit] Defect reports

The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

DR Applied to Behavior as published Correct behavior
LWG 400 C++98 p was cast to T*, which is the type of p removed the redundant cast

[edit] See also

[static]
destructs an object stored in the allocated storage
(function template) [edit]