std::allocator<T>::destroy
From cppreference.com
C++
Memory management library
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::allocator
| Member functions | ||||
|
(until C++20)
|
||||
|
(C++23)
|
||||
|
(until C++20)
|
||||
|
(until C++20)
|
||||
|
allocator::destroy
(until C++20)
|
||||
| Non-member functions | ||||
|
(until C++20)
|
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().
Parameters
| p | - | pointer to the object that is going to be destroyed |
Return value
(none)
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 |
See also
|
[static]
|
destructs an object stored in the allocated storage (function template) |