freelist 类
管理内存块列表。
语法
template <std::size_t Sz, class Max>
class freelist : public Max
参数
Sz
数组中要分配的元素数目。
最大
max 类表示可存储在空闲列表中的元素的最大数量。 max 类可以是 max_none、max_unbounded、max_fixed_size 或 max_variable_size。
注解
这个类模板管理大小为 Sz 的内存块的列表,该列表的最大长度由传入 Max 中的 max 类确定。
构造函数
构造函数 | 说明 |
---|---|
freelist | 构造 freelist 类型的对象。 |
成员函数
成员函数 | 说明 |
---|---|
pop | 从空闲列表中删除第一个内存块。 |
push | 向列表中添加内存块。 |
要求
标头:<allocators>
命名空间: stdext
freelist::freelist
构造 freelist
类型的对象。
freelist();
备注
freelist::pop
从空闲列表中删除第一个内存块。
void *pop();
返回值
返回指向从列表中删除的内存块的指针。
注解
如果列表为空,则成员函数将返回 NULL。 否则,成员函数从列表中删除第一个内存块。
freelist::push
向列表中添加内存块。
bool push(void* ptr);
参数
ptr
指向要添加到空闲列表的内存块的指针。
返回值
如果 max 类的 full
函数返回 false
,则为 true
,否则 push
函数返回 false
。
备注
如果 max 类的 full
函数返回 false
,则此成员函数将 ptr 指向的内存块添加到列表表头。