空间配置器标准接口
1 | allocator::value_type |
构造函数和析构函数,由于没有数据成员,不需要被初始化,但是必须被定义。1
2
3
4allocator::allocator()
allocator::allocator(const allocator&)
template <class U> allocator::allocator(const allocator<U>&)//泛化的copy constructor
allocator::~allocator()
1 | pointer allocator::address(reference x) const |
返回某个对象的地址,a.address(x)相当于&x1
const_pointer allocator::address(const_reference x) const
返回某的const对象的地址,a.address(x)相当于&x1
pointer allocator::allocate(size_type n, const void*=0)
配置空间,足以存储n个T对象。第一个参数是个提示,实现上可能利用它来增进区域性(locality),或者完全忽略之。1
size_type allocator::max_size() const
返回可成功配置的最大量1
void allocator::deallocate(pointer p, size_type n)
归还之前配置的空间1
void allocator::construct(pointer p, const T& x)
等同于new((void*) p) T(x)1
void allocator::destory(pointer p)
等同于p->~T(x)