Vector底层实现
Vector底层实现
vector的三个私有成员
:_start 记录初始位置
, _finish 记录有效字符
, _endofstoage 记录容量大小
vector会存储的类型不同,所以要用模版来定类型
typedef T* iterator;
iterator _start;
iterator _finish;
iterator _endofstoage;
也就是T*
构造函数的方法很多 可以用迭代器的范围来构造
//用迭代器构造的构造函数
传过来的是它的迭代器的类型 我们也用它的类型来接收 不比加* &
三个属性先初始化
只要根据传过来的范围来push_back()即可
push_back函数后面会实现
//用迭代器构造的构造函数 template <class InputIterator> vector(InputIterator first, InputIterator last) : _start(nullptr) , _finish(nullptr) , _endofstoage(nullptr) { while (first != last) { push_back(*first); ++first; } }