Allocators

标准模板库 (STL) 用于将程序处理元素存储的分配和解除分配容器的。 所有 STL 容器具有类型 **allocator<Type>**模板参数,Type 容器表示元素的类型。 例如,向量类的声明方式如下:

template <
    class Type,
    class Allocator = allocator<Type>
>
class vector

标准模板库 (STL) 为分配程序提供默认实现。 大多数情况下,此默认分配程序应该就足够了。 有关默认分配程序的更多信息,请参见 allocator 类

编写自己分配程序

默认分配程序使用 new 和 delete 分配和释放内存。 如果要使用不同的内存分配方法,如使用共享内存,则必须创建自己分配程序。

所有分配程序使用与 STL 容器必须实现下面的类型定义:

const_pointer

rebind

const_reference

reference

difference_type

size_type

pointer

value_type

此外,所有分配程序使用与 STL 容器必须实现下面的方法:

构造函数

deallocate

复制构造函数

destroy

析构函数

max_size

address

operator==

allocate

operator!=

construct

有关这些类型定义和方法的更多信息,请参见 allocator 类

请参见

参考

标准模板库