std::pmr::unsynchronized_pool_resource
来自 cppreference.com
在头文件 <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 进行相等比较 (虚拟受保护成员函数) |