共用方式為


max_variable_size 類別

描述 max 類別物件,此物件可將 freelist 物件的長度上限限制為與已配置的記憶體區塊數目大致成正比。

語法

class max_variable_size

建構函式

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

成員函式

成員函數 描述
allocated 遞增已配置的記憶體區塊計數。
deallocated 遞減已配置的記憶體區塊計數。
full 傳回指定是否應該為可用清單新增更多記憶體區塊的值。
released 遞減可用清單上的記憶體區塊計數。
saved 遞增可用清單上的記憶體區塊計數。

需求

Header:<allocators>

命名空間: stdext

max_variable_size::allocated

遞增已配置的記憶體區塊計數。

void allocated(std::size_t _Nx = 1);

參數

_Nx
遞增值。

備註

此成員函式會將_Nx新增至預存值 _Nallocs。 每次 cache_freelist::allocate 成功呼叫運算子 new 之後,都會呼叫此成員函式。 自變數 _Nx 是運算子 new所配置區塊中的記憶體區塊數目。

max_variable_size::d eallocated

遞減已配置的記憶體區塊計數。

void deallocated(std::size_t _Nx = 1);

參數

_Nx
遞增值。

備註

成員函式會從預存值 _Nallocs減去_Nx。 每次 cache_freelist::deallocate 呼叫運算子 delete 之後,都會呼叫此成員函式。 自變數 _Nx 是運算元 delete解除分配之區塊中的記憶體區塊數目。

max_variable_size::full

傳回指定是否應該為可用清單新增更多記憶體區塊的值。

bool full();

傳回值

true 如果 _Nallocs / 16 + 16 <= _Nblocks

備註

此成員函式會由 cache_freelist::deallocate 呼叫。 如果此呼叫傳回 truedeallocate 便會將記憶體區塊放到可用清單上,如果傳回 false,deallocate 則會呼叫運算子 delete 來將區塊解除配置。

max_variable_size::max_variable_size

建構類型 max_variable_size 的物件。

max_variable_size();

備註

此建構函式會將預存值 _Nblocks_Nallocs 初始化為零。

max_variable_size::released

遞減可用清單上的記憶體區塊計數。

void released();

備註

此成員函式會遞減預存值 _Nblocks。 每當 cache_freelist::allocate 從可用清單中移除記憶體區塊時,都會呼叫目前 max 類別的 released 成員函式。

max_variable_size::saved

遞增可用清單上的記憶體區塊計數。

void saved();

備註

此成員函式會遞增預存值 _Nblocks。 每當 cache_freelist::deallocate 將記憶體區塊放到可用清單上時,都會呼叫此成員函式。

另請參閱

<allocators>