分配器工作原理:分配器用A::pointer A::allocate(size_type n, A<void>::const_pointer hint = 0)以进行内存分配。其中调用参数n即为需要分配的对象个数,另一调用参数hint则为可选参数,可用于在分配过程中指定新数组所在的内存地址。但在实际的分配过程中程序也可以根据情况自动忽略掉该参数。该函数调用时会返回指向分配所得的新数组的第一个元素的指针,而这一数组的大小足以容纳n个T类元素。在此需要注意的是,调用时只为此数组分配了内存,而并未实际构造对象。扩展资料:分配器的使用需求:任意满足分配器使用需求的C++类都可作分配器使用。具体来说,当一个类(在此设为类A)有为一个特定类型(在此设为类型T)的对象分配内存的能力时,该类就必须提供以下类型的定义。如此才能以通用的方式声明对象与对该类对象的引用T。allocator提供这些指针或引用的类型定义的初衷,是隐蔽指针或引用的物理实现细节;因为在16位编程时代,远指针(far pointer)是与普通指针非常不同的,allocator可以定义一些结构来表示这些指针或引用。参考资料来源:搜狗百科—分配器