名稱空間
變體
操作

std::experimental::pmr::unsynchronized_pool_resource

來自 cppreference.com
< cpp‎ | 實驗性
 
 
 
 
 
定義於標頭檔案 <experimental/memory_resource>
class unsynchronized_pool_resource : public memory_resource;
(庫基礎 TS)

std::experimental::pmr::unsynchronized_pool_resource 是一個通用記憶體資源類,具有以下屬性

  • 它擁有已分配的記憶體,並在銷燬時釋放它,即使某些已分配的塊尚未呼叫 deallocate
  • 它由一組**池**組成,用於處理不同大小的塊請求。每個池管理一組**塊**,這些塊隨後被劃分為大小統一的塊。
  • do_allocate 的呼叫會被分派到為請求大小提供最小塊的池。
  • 池中記憶體耗盡會導致對該池的下一個分配請求從“上游分配器”分配一個額外的記憶體塊來補充池。獲得的塊大小呈幾何級數增長。
  • 超出最大塊大小的分配請求直接由“上游分配器”處理。
  • 透過將 std::experimental::pmr::pool_options 結構體傳遞給其建構函式,可以調整最大塊大小和最大塊區大小。

unsynchronized_pool_resource 不是執行緒安全的,不能同時從多個執行緒訪問;如果需要從多個執行緒訪問,請使用 synchronized_pool_resource

[編輯] 成員函式

構造一個 unsynchronized_pool_resource
(public member function) [編輯]
銷燬 unsynchronized_pool_resource,釋放所有已分配的記憶體
(virtual public member function) [編輯]
operator=
[已刪除]
刪除複製賦值運算子。unsynchronized_pool_resource 不可複製賦值
(public member function) [編輯]
公開成員函式
釋放所有已分配的記憶體
(public member function) [編輯]
返回上游記憶體資源的指標
(public member function) [編輯]
返回控制此資源池化行為的選項
(public member function) [編輯]
受保護的成員函式
[virtual]
分配記憶體
(virtual protected member function) [編輯]
將記憶體返回到池中
(virtual protected member function) [編輯]
[virtual]
與另一個 memory_resource 進行相等比較
(virtual protected member function) [編輯]