首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

std::pmr::monotonic_buffer_resource::do_allocate

virtual void* do_allocate(std::size_t bytes, std::size_t alignment);

(since C++17)

分配存储。

如果电流缓冲器有足够的未使用空间来适合具有指定大小和对齐方式的块,则从当前缓冲区分配返回块。

否则,此函数将通过调用upstream_resource()->allocate(n, m),在哪里n不少于bytes下一缓冲区大小m不少于alignment它将新缓冲区设置为电流缓冲器,增加下一缓冲区大小通过实现定义的增长因子%28(不一定是整数%29),然后从新分配的缓冲区分配返回块。

返回值

指向至少分配的存储的指针bytes大小对齐的字节。alignment如果支持这种对齐,则alignof(std::max_align_t)否则。

例外

除非调用allocate()在上游内存资源抛出。

另见

allocate

allocates memory (public member function of std::pmr::memory_resource)

do_allocate virtual

allocates memory (virtual private member function of std::pmr::memory_resource)

代码语言:txt
复制
 © cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

扫码关注腾讯云开发者

领取腾讯云代金券