共用方式為


cache_freelist 類別

定義區塊配置器以配置及解除配置單一大小的記憶體區塊。

語法

template <std::size_t Sz, class Max>
class cache_freelist

參數

Sz
要配置的陣列元素數目。

Max
表示可用清單大小上限的 max 類別。 可以是 max_fixed_sizemax_nonemax_unboundedmax_variable_size

備註

cache_freelist類別範本會維護大小 Sz 的記憶體區塊可用清單。 當免費清單已滿時,它會使用 運算子 delete 來解除分配記憶體區塊。 當可用清單是空的時,它會使用 運算子 new 來配置新的記憶體區塊。 免費清單的大小上限取決於在 Max 參數中傳遞的類別 max 類別。

每個記憶體區塊都會保留 Sz 位元組的可用記憶體,以及運算元 newoperator delete 所需的數據

建構函式

建構函式 描述
cache_freelist 建構類型 cache_freelist 的物件。

成員函式

成員函數 描述
allocate 配置記憶體區塊。
deallocate 從指定位置起算的儲存體中,釋放指定數目的物件。

需求

Header:<allocators>

命名空間: stdext

cache_freelist::allocate

配置記憶體區塊。

void *allocate(std::size_t count);

參數

計數
要配置的陣列元素數目。

傳回值

所配置物件的指標。

備註

cache_freelist::cache_freelist

建構類型 cache_freelist 的物件。

cache_freelist();

備註

cache_freelist::d eallocate

從指定位置起算的儲存體中,釋放指定數目的物件。

void deallocate(void* ptr, std::size_t count);

參數

ptr
要從儲存體解除配置之第一個物件的指標。

計數
要從儲存空間解除配置的物件數目。

備註

另請參閱

<allocators>