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<>, но может быть полезна и в любой специализации.
См. также
|
(C++20) | освобождает необработанную память, полученную из allocate_bytes (открытая функция-член) |
|
(C++20) | уничтожает объект и освобождает выделенную для него память (открытая функция-член) |
|
[статическая] | освобождает память с помощью аллокатора (открытая статическая функция-член std::allocator_traits<Alloc>) |
| освобождает память (открытая функция-член 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