名稱空間
變體
操作

std::pmr::monotonic_buffer_resource::do_allocate

來自 cppreference.com
 
 
記憶體管理庫
(僅作說明*)
未初始化記憶體演算法
(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*)
顯式生命週期管理
 
 
virtual void* do_allocate( std::size_t bytes, std::size_t alignment );
(C++17 起)

分配儲存。

如果*當前緩衝區*有足夠的未使用空間來容納具有指定大小和對齊方式的塊,則從當前緩衝區分配返回塊。

否則,此函式透過呼叫upstream_resource()->allocate(n, m)分配一個新緩衝區,其中n不小於bytes和*下一個緩衝區大小*中的較大者,m不小於alignment。它將新緩衝區設定為*當前緩衝區*,透過實現定義的增長因子(不一定是整數)增加*下一個緩衝區大小*,然後從新分配的緩衝區中分配返回塊。

[編輯] 返回值

指向已分配儲存的指標,其大小至少為bytes位元組,如果支援此類對齊,則按指定的alignment對齊,否則按alignof(std::max_align_t)對齊。

[編輯] 異常

除非呼叫上游記憶體資源的 allocate() 丟擲異常,否則不丟擲任何異常。

[編輯] 另請參見

分配記憶體
(std::pmr::memory_resource的公共成員函式) [編輯]
[虛擬函式]
分配記憶體
(std::pmr::memory_resource的虛私有成員函式)[編輯]