cache_chunklist 類別
定義區塊配置器以配置及解除配置單一大小的記憶體區塊。
語法
template <std::size_t Sz, std::size_t Nelts = 20>
class cache_chunklist
參數
Sz
要配置的陣列元素數目。
備註
此類別範本會使用 運算符 new 來設定原始記憶體區塊、視需要分派區塊來配置記憶體區塊的記憶體區塊的記憶體;它會在每個區塊的個別可用清單中儲存已解除分配的記憶體區塊,並使用 運算符 delete 在未使用任何記憶體區塊時解除分配區塊。
每個記憶體區塊都會保存 Sz 位元組的可用記憶體,以及其所屬區塊的指標。 每個區塊都會保存Nelts
記憶體區塊、三個指標、int,以及運算元 new 和 operator delete 所需的數據。
建構函式
建構函式 | 描述 |
---|---|
cache_chunklist | 建構類型 cache_chunklist 的物件。 |
成員函式
成員函數 | 描述 |
---|---|
allocate | 配置記憶體區塊。 |
deallocate | 從指定位置起算的儲存體中,釋放指定數目的物件。 |
需求
Header:<allocators>
命名空間: stdext
cache_chunklist::allocate
配置記憶體區塊。
void *allocate(std::size_t count);
參數
計數
要配置的陣列元素數目。
傳回值
所配置物件的指標。
備註
cache_chunklist::cache_chunklist
建構類型 cache_chunklist
的物件。
cache_chunklist();
備註
cache_chunklist::d eallocate
從指定位置起算的儲存體中,釋放指定數目的物件。
void deallocate(void* ptr, std::size_t count);
參數
ptr
要從儲存體解除配置之第一個物件的指標。
計數
要從儲存空間解除配置的物件數目。