Namespaces
Variants

std::allocator_traits<Alloc>:: destroy

From cppreference.net
Memory management library
( exposition only* )
Allocators
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Memory resources
Uninitialized storage (until C++20)
( until C++20* )
( until C++20* )
( until C++20* )

Garbage collector support (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)
(C++11) (until C++23)
Определено в заголовке <memory>
template < class T >
static void destroy ( Alloc & a, T * p ) ;
(начиная с C++11)
(constexpr начиная с 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.

Пример

Смотрите также

(until C++20)
уничтожает объект в выделенной памяти
(публичная функция-член std::allocator<T> )