Spec-Zone.ru › C++

std::allocator_traits<Alloc>::destroy

Определён в заголовочном файле <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() является необязательным требованием к аллокатору начиная с C++11.

Пример

См. также

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

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/memory/allocator_traits/destroy

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API