1. 基本数据结构
template <class T, class Alloc = alloc>
class vector {
public:
typedef T value_type;
typedef value_type* pointer;
typedef const value_type* const_pointer;
// 定义迭代器, 这里就只是一个普通的指针
typedef value_type* iterator;
typedef const value_type* const_iterator;
typedef value_type& reference;
typedef const value_type& const_reference;
typedef size_t size_type;
typedef ptrdiff_t difference_type;
...
protected:
typedef simple_alloc<value_type, Alloc> data_allocator; // 设置其空间配置器
iterator start; // 当前使用空间的头
iterator finish; // 当前使用空间的尾
iterator end_of_storage; // 当前可用空间的尾
...
};
2. 构造函数
vector() : start(0), finish(0), end_of_strorage(0) { } // 默认构造函数
explicit vector(size_type n) { fill_initialize(n, T()); } // 接受一个值,必须显示调用
vector(size_type n, const T& value) { fill_initalize(n, value); } // 接受一个大小和初始化值
vector(int n, const T& value) { fill_initalize(n, value); }
vector(long n, const T& value) { fill_initalize(n, value); }
vector(const vector<T, Alloc>& x); // 接受一个vector参数的构造函数
标签:容器,typedef,vcetor,const,iterator,value,vector,type From: https://www.cnblogs.com/love-9/p/18148977