命名空间
变体
操作

std::pmr::synchronized_pool_resource::do_allocate

来自 cppreference.cn
 
 
内存管理库
(仅为说明目的*)
未初始化内存算法
(C++17)
(C++17)
(C++17)
受约束的未初始化
内存算法
C 库

分配器
内存资源
垃圾回收支持
(C++11)(直到 C++23)
(C++11)(直到 C++23)
(C++11)(直到 C++23)
(C++11)(直到 C++23)
(C++11)(直到 C++23)
(C++11)(直到 C++23)
未初始化存储
(在 C++20 前已弃用*)
(在 C++20 前已弃用*)
(在 C++20 前已弃用*)
显式生命周期管理
 
 
virtual void* do_allocate( std::size_t bytes, std::size_t alignment );
(自 C++17 起)

分配存储空间。

如果为大小为 bytes 的块选择的池无法从其内部数据结构满足请求,则调用上游内存资源上的 allocate() 来获取内存。

如果请求的大小大于最大池可以处理的大小,则通过调用上游内存资源上的 allocate() 来分配内存。

[编辑] 返回值

指向已分配存储空间的指针,该存储空间至少为 bytes 字节大小,如果支持指定的 alignment 对齐,则按其对齐,否则按 alignof(std::max_align_t) 对齐。

[编辑] 异常

除非调用上游内存资源上的 allocate() 抛出异常,否则不抛出任何异常。

[编辑] 参见

分配内存
(std::pmr::memory_resource 的公共成员函数) [编辑]
[虚拟]
分配内存
(std::pmr::memory_resource 的虚拟私有成员函数)[编辑]