需要注意的几点:
1.导入头文件#include <vector>
2.定义及初始化
(1)vector<int 或者 string ..> 容器名 (size);
(2)可以定义不指定大小的容器
vector<int> ivec;此时容器位空,不能出现这样的操作 ivec[0] = 1024;
vector<int> ivec(0);
(3)不能对容器显示的初始化 vector<int> ivec(10) = {0,1,2,3,4} ,这是错误的
3.对容器操作
(1) ivec[index];
(2) int ia[size] = {0};
for(i=0; index<size; i++){
ivec[i] = ia[i];
}
(3)ivec.size()求容器大小,bool ivec.empty()判断是否为空,返回bool值
(4)ivec.push_back(int)向容器内插入数据,从容器的末尾开始插入,而不是覆盖容器内原有数据,插入完毕后容器的大小为原大小+插入大小
(5)vector<int>::iterate it = ivec.begin(); it!=ivec.end(); it++{
cout<<*it<<' '<<endl;
}用迭代器遍历容器
(6)vector<int> ivec2(ia,ia+size);将整个数组或者数组的一部分复制到容器内
(7)vector<int> ivec3(ivec2);容器被另一个容器初始化
(8)vector<int> ivec4;
ivec4 = ivec3;容器可以赋值给另一个容器,大小不需要匹配,不论ivec初始大小是多少,被赋值后ivec4的大小等于ivec3的大小
4.它解决了很多的数组上的问题,比如,数组定义的时候就要初始化,不然就错过了初始化的机会
int ia[10];
ia={0,2,1..} //这是不允许的
不能将一个数组赋值给另一个数组
int ib[10];
ib = ia;/这是不允许的
解决了数组越界的问题,它可以随便改变大小