为什么STL会为Allocator保留一个接口?
以矢量为例:
以矢量为例:
template<class T,class Allocator = std::allocator<T>> class vector;
因为我们有很多选择来分配内存和构造对象
operator new,delete,new [],delete [],在创建对象时几乎可以做任何我们需要的事情.
那么为什么像vector这样的STL容器需要一个Allocator接口,如果我们不分配一个接口,它最多是默认的std :: allocator?为什么不使用新的表达式?
如果目的是使用户定义的分配行为成为可能,为什么不让用户提供他们自定义的运算符new,new []等?