Namespaces
Variants

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

From cppreference.net
Memory management library
( exposition only* )
Allocators
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Memory resources
Uninitialized storage (until C++20)
( until C++20* )
( until C++20* )
( until C++20* )

Garbage collector support (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
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 <> 使用而引入,但在任何特化场景中都可能具有实用价值。

参见

释放通过 allocate_bytes 获取的原始内存
(公开成员函数)
销毁并释放对象
(公开成员函数)
[static]
使用分配器释放存储空间
( std::allocator_traits<Alloc> 的公开静态成员函数)
释放内存
( std::pmr::memory_resource 的公开成员函数)