#include <vector>
using std::vector
vector<int> ivec;
vector<vector<string>> file;
初始化
vector<T> v1; //v1是空vector,所有元素都是T类型
vector<T> v2(v1); //v2含有v1所有元素的副本
vector<T> v2 = v1; //同上
vector<T> v3(n, val); //v3包含n个重复的元素,元素的值为val
vector<T> v4(n);
vector<T> v5{a, b, c, d};
vector<T> v5 = {a, b, c, d};
添加元素
v.push_back("ts");
vector的其他操作
方法 | 作用 |
---|---|
v.empty() | 如果v不含任何元素,返回真,否则返回假 |
v.size() | 返回v中元素的个数,为size_type() |
v.push_bakc(t) | 向v的尾端添加一个值为t的元素 |
v[n] | 返回v中第n个元素的引用 |
vector<int>::size_type
遍历
vector<int> v{1, 2, 3, 4, 5, 6};
for(auto &i : v) {
cout<< i <<endl;
}
for(decltype(v.size()) index = 0; index < v.size(); index++) {
cout<< v[index]<<endl;
}
迭代器
auto b = v.begin(), e = v.end();
迭代器运算
方法 | 作用 |
---|---|
*iter | 返回迭代器所指元素的引用 |
iter->mem | 解引用iter并获取该元素名为mem的成员,相对于(*iter).mem |
++iter | 令iter指示容器的下一个元素 |
--iter | 令iter指示容器的上一个元素 |
iter1==iter2 | 如果两个指示器指示同一个元素,返回真 |
iter1!=iter2 | 如果两个指示器指示不同元素,返回真 |