std::pmr::synchronized_pool_resource::do_allocate
< cpp | memory | synchronized pool resource
virtual void* do_allocate(std::size_t bytes, std::size_t alignment); |
(C++17 起) | |
分配存储。
若为块大小 bytes
选择的池无以满足来自其内部数据结构的请求,则调用上游 memory_resource 上的 allocate()
获得内存。
若请求的大小大于最大的池所能处理者,则通过调用上游 memory_resources 上的 allocate()
分配内存。
返回值
指向至少有 bytes
字节大小,若支持该对齐则对齐到指定的 alignment
,否则对齐到 alignof(std::max_align_t) 的存储的指针。
异常
不抛出,除非上游 memory_resources 上 allocate()
的调用抛出异常。
参阅
分配内存 ( std::pmr::memory_resource 的公开成员函数) | |
[虚] |
分配内存 ( std::pmr::memory_resource 的虚私有成员函数) |