cache_suballoc 類別
定義區塊配置器以配置及解除配置單一大小的記憶體區塊。
語法
template <std::size_t Sz, size_t Nelts = 20>
class cache_suballoc
參數
Sz
要配置的陣列元素數目。
備註
cache_suballoc類別範本會將已解除分配的記憶體區塊儲存在未系結長度的免費清單中,並使用 freelist<sizeof(Type), max_unbounded>
,並將記憶體區塊從釋放清單空白時,以 運算子 new 配置的較大區塊子配置記憶體區塊。
每個區塊都會保存Sz * Nelts
可用記憶體的位元組,以及運算符 new 和 operator delete 所需的數據。 永遠不會釋放已配置的區塊。
建構函式
建構函式 | 描述 |
---|---|
cache_suballoc | 建構類型 cache_suballoc 的物件。 |
成員函式
成員函數 | 描述 |
---|---|
allocate | 配置記憶體區塊。 |
deallocate | 從指定位置起算的儲存體中,釋放指定數目的物件。 |
需求
Header:<allocators>
命名空間: stdext
cache_suballoc::allocate
配置記憶體區塊。
void *allocate(std::size_t count);
參數
計數
要配置的陣列元素數目。
傳回值
所配置物件的指標。
備註
cache_suballoc::cache_suballoc
建構類型 cache_suballoc
的物件。
cache_suballoc();
備註
cache_suballoc::d eallocate
從指定位置起算的儲存體中,釋放指定數目的物件。
void deallocate(void* ptr, std::size_t count);
參數
ptr
要從儲存體解除配置之第一個物件的指標。
計數
要從儲存空間解除配置的物件數目。