freelist 類別
管理記憶體區塊的清單。
語法
template <std::size_t Sz, class Max>
class freelist : public Max
參數
Sz
要配置的陣列元素數目。
Max
max 類別,表示可在可用清單中儲存的元素數量上限。 max 類別可以是 max_none、max_unbounded、max_fixed_size 或 max_variable_size。
備註
此類別範本會管理大小 為 Sz 的記憶體區塊清單,其清單長度上限是由傳入 Max 的 max 類別所決定。
建構函式
建構函式 | 描述 |
---|---|
freelist | 建構類型 freelist 的物件。 |
成員函式
成員函數 | 描述 |
---|---|
pop | 從可用清單中移除第一個記憶體區塊。 |
push | 將記憶體區塊新增至清單中。 |
需求
Header:<allocators>
命名空間: stdext
freelist::freelist
建構類型 freelist
的物件。
freelist();
備註
freelist::p op
從可用清單中移除第一個記憶體區塊。
void *pop();
傳回值
傳回從清單中移除之記憶體區塊的指標。
備註
如果清單是空的,則成員函式會傳回 NULL。 否則,會從清單中移除第一個記憶體區塊。
freelist::p ush
將記憶體區塊新增至清單中。
bool push(void* ptr);
參數
ptr
要新增至可用清單的記憶體區塊指標。
傳回值
如果 max 類別的 full
函式傳回 false
,即為 true
;否則 push
函式會傳回 false
。
備註
full
如果 max 類別的 函式傳false
回 ,這個成員函式會將 ptr 指向的記憶體區塊新增至清單的前端。