Spec-Zone.ru › C++

std::pmr::polymorphic_allocator<T>::deallocate_object

template< class U >
void deallocate_object( U* p, std::size_t n = 1 );
(начиная с C++20)

Освобождает память, на которую указывает p и которая должна быть выделена из std::pmr::memory_resource x, сравнимого на равенство с *resource(), с использованием x.allocate(n * sizeof(U), alignof(U)), обычно посредством вызова allocate_object<U>(n).

Эквивалентно deallocate_bytes(p, n * sizeof(U), alignof(U));.

Параметры

p - указатель на память, которую нужно освободить
n - количество объектов типа U, для которых была выделена память

Исключения

Ничего не выбрасывает.

Примечания

Эта функция была добавлена для использования с полностью специализированным аллокатором std::pmr::polymorphic_allocator<>, но может быть полезна и в любой специализации.

См. также

deallocate_bytes
(C++20)
освобождает необработанную память, полученную из allocate_bytes
(открытая функция-член)
delete_object
(C++20)
уничтожает объект и освобождает выделенную для него память
(открытая функция-член)
deallocate
[статическая]
освобождает память с помощью аллокатора
(открытая статическая функция-член std::allocator_traits<Alloc>)
deallocate
освобождает память
(открытая функция-член std::pmr::memory_resource)

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

Spec-Zone.ru

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