std::pmr::unsynchronized_pool_resource::do_allocate

来自cppreference.com
 
 
动态内存管理
智能指针
(C++11)
(C++11)
(C++11)
(C++17 前)
(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++11)(C++23 前)
杂项
(C++20)
(C++11)
(C++11)
C 库
低层内存管理
 
 
virtual void* do_allocate(std::size_t bytes, std::size_t alignment);
(C++17 起)

分配存储。

若为 bytes 大小的块所选的池不足以满足来自其内部数据结构的请求,则调用上游 memory_resources 上的 allocate() 以获得内存。

若请求的大小大于最大的池所能处理者,则通过调用上游 memory_resources 上的 allocate() 分配内存。

返回值

指向至少有 bytes 字节大小,若支持这种对齐则对齐到指定的 alignment ,否则对齐到 alignof(std::max_align_t) 的被分配存储。

异常

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

参阅

分配内存
(std::pmr::memory_resource 的公开成员函数)
分配内存
(std::pmr::memory_resource 的虚私有成员函数)