std::pmr::unsynchronized_pool_resource

来自cppreference.com
< cpp‎ | memory
 
 
动态内存管理
未初始化内存算法
受约束的未初始化内存算法
分配器
垃圾收集器支持
(C++11)(C++23 前)
(C++11)(C++23 前)
(C++11)(C++23 前)
(C++11)(C++23 前)
(C++11)(C++23 前)
(C++11)(C++23 前)



 
 
在标头 <memory_resource> 定义
class unsynchronized_pool_resource : public std::pmr::memory_resource;
(C++17 起)

std::pmr::unsynchronized_pool_resource 是具有下列属性的通用内存资源类:

  • 它拥有所分配的内存并在析构时释放它,即使对某些被分配块并未调用 deallocate 也是如此。
  • 它由供应不同块大小请求的的汇集组成。每个池管理之后被分入一致大小的区段的汇集。
  • do_allocate 的调用被派发到供应适应请求大小的最小块的池。
  • 池中耗尽内存会导致该池从上游分配器分配额外的内存区段以填满池。获取的区段大小以几何级数增加。
  • 超出最大的块大小的分配请求,由上游分配器直接供应。
  • 最大的块大小和区段大小的最大值可通过向构造函数传递 std::pmr::pool_options 结构体予以调节。

unsynchronized_pool_resource 不是线程安全的,而且不能从多个线程同时访问;若要求从多个线程访问则应使用 synchronized_pool_resource

成员函数

构造 unsynchronized_pool_resource
(公开成员函数)
销毁 unsynchronized_pool_resource ,释放所有分配的内存
(虚公开成员函数)
operator=
[弃置]
复制赋值运算符被弃置,unsynchronized_pool_resource 不可复制赋值
(公开成员函数)
公开成员函数
释放所有分配的内存
(公开成员函数)
返回指向上游内存资源的指针
(公开成员函数)
返回控制此资源分池行为的选项
(公开成员函数)
受保护成员函数
分配内存
(虚受保护成员函数)
返还内存到池
(虚受保护成员函数)
与另一 std::pmr::memory_resource 比较相等性
(虚受保护成员函数)