vector
vector 介绍
vector 是 C++ 标准模板库(STL)中的一个动态数组容器,也是 C++ 的顺序表,它提供了动态大小调整和高效的随机访问功能。vector 的元素在内存中是连续存储的,这意味着可以通过指针或索引高效地访问元素。vector 自动管理其内部使用的内存,不需要手动分配和释放,支持常见容器操作,如插入、删除、遍历等。
String 和 vector 区别
String 结尾有\0;vector 要储存其他类型所以没有\0
String 主要用来存储 char 类型;vector 主要用来存储除 char 的其他类型
vector 常见接口
构造函数

存储结构
结构上使用命名空间 wu 进行封装,防止与库冲突,使用 class 封装成为对象 vector。这样 typedef 的一点是和 STL 保持一致。
写 vector 写成类模板,可以支持存贮多种类型数据 _start 表示数据存储的开始地址 _finish 表示数据存贮的下一个地址 _endofstorage 表示数据当前开辟的最大空间的地址
namespace wu {
template<class T> class vector {
public:
typedef T* iterator;
typedef const T* const_iterator;
private:
iterator _start;
iterator _finish;
iterator _endofstorage;
};
}
默认构造函数
初始化
初始化指针都为空
vector() :_start(nullptr) , _finish(nullptr) , _endofstorage(nullptr) {}
模版的定义,进行初始化
//类模版的成员函数,也可以是一个函数模版
template<class InputIterator> vector(InputIterator first, InputIterator last) {
(first != last) {
(*first);
++first;
}
}





