std::allocator_traits::destroy
Материал из cppreference.com
<tbody>
</tbody>
<tbody class="t-dcl-rev ">
</tbody><tbody>
</tbody>
| Определено в заголовочном файле <memory>
|
||
template< class T > static void destroy( Alloc& a, T* p ); |
(начиная с C++11) (до C++20) |
|
template< class T > static constexpr void destroy( Alloc& a, T* p ); |
(начиная с C++20) | |
Вызывает деструктор объекта, на который указывает p. Если возможно, делает это, вызывая a.destroy(p). Если же это не возможно (например, Alloc не имеет функции-элемента destroy()), то вызывает деструктор *p напрямую, как p->~T() (до C++20)std::destroy_at(p) (начиная с C++20).
Параметры
| a | — | аллокатор, используемый для уничтожения |
| p | — | указатель на уничтожаемый объект |
Возвращаемое значение
(нет)
Примечание
Поскольку эта функция обеспечивает автоматический возврат к прямому вызову деструктора, то функция-элемент destroy() является необязательным требованием Allocator, начиная с C++11.
Пример
| Этот раздел не завершён Причина: нет примера |
Смотрите также
(до C++20) |
уничтожает объект в выделенном хранилище (public функция-элемент std::allocator)
|