freelist 类

管理内存块列表。

语法

template <std::size_t Sz, class Max>
class freelist : public Max

参数

Sz
数组中要分配的元素数目。

最大
max 类表示可存储在空闲列表中的元素的最大数量。 max 类可以是 max_nonemax_unboundedmax_fixed_sizemax_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 指向的内存块添加到列表表头

另请参阅

<allocators>