跳到主要内容

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

自 C++20 起
template <class U>
void deallocate_object( U* p, std::size_t n = 1 );

释放 p 指向的存储。p 必须是从 std::pmr::memory_resource x 中分配的,并且 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<> 而引入的,但它也可以用于任何特化。

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

自 C++20 起
template <class U>
void deallocate_object( U* p, std::size_t n = 1 );

释放 p 指向的存储。p 必须是从 std::pmr::memory_resource x 中分配的,并且 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<> 而引入的,但它也可以用于任何特化。