可移植的分配子不能有任何非静态的数据成员,
C++标准指出:允许STL实现假定同一类型的分配子都等价
分配子在原始分配内存这一点上就像new 操作符,但是他们的接口是不同的。
你的分配子是一个模板,模板参数T代表你为它分配内存的对象的类型。
提供类型定义pointer和reference,但是始终让pointer 为 T*,reference为T&。
千万别让你的分配子拥有随对象而不同的状态。通常,分配子不应该有非静态的数据成员。
记住,传给分配子的allocate成员函数的是那些要求内存的对象的个数,而不是所需的字节数。同时要记住,这些函数返回T*指针,及时尚未有T构造出来。
一定要提供嵌套的rebind模板,因为标准容器依赖该模板。