//熟悉 static: allocate、deallocate 故模板类allocator对象需要静态声明
// construct、destroy(c++17废弃)
//后期: 学习真正的 内部实现 Alloc模板类 二级空间分配器
//allocator 简单实现自定义Vector模版
//熟悉 static: allocate、deallocate 故模板类allocator对象需要静态声明
// construct、destroy(c++17废弃)
//后期: 学习真正的 内部实现 Alloc模板类 二级空间分配器
#include <iostream>
#include <memory>
using std::cout;
using std::endl;
template <typename T>
class Vector{
public:
Vector();
~Vector();
void push_back(const T &);
void pop_back();
void clear();
const T &operator[] (int idx) const;
int size() const{
return _firstFree - _elems;
}
int capacity() const{
return _end - _elems;
}
private:
void reallocate(); //push_back时检测 size() == capacity()?
private:
static</