std::pmr::synchronized_pool_resource::do_allocate

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 的虚私有成员函数)

版本历史

  • (当前 | 先前) 2017年6月9日 (五) 10:32Fruderica讨论 | 贡献. . (988字节) (+988). . (以“{{cpp/memory/synchronized_pool_resource/title|do_allocate}} {{cpp/memory/synchronized_pool_resource/navbar}} {{ddcl|since=c++17 |1= virtual void* do_allocate(std::si...”为内容创建页面)