std::pmr::polymorphic_allocator<T>::deallocate_object
来自 cppreference.com
< cpp | memory | polymorphic allocator
template< class U > void deallocate_object( U* p, std::size_t n = 1 ); |
(自 C++20) | |
释放由 p 指向的存储空间,该存储空间必须是从与 *resource() 相等的 std::pmr::memory_resource x 分配的,使用 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 的公有成员函数) |