#include <vector>
using std::vector
vector<int> ivec;
vector<vector<string>> file;
初始化
vector<T> v1; //v1是空vector,所有元素都是T類(lèi)型
vector<T> v2(v1); //v2含有v1所有元素的副本
vector<T> v2 = v1; //同上
vector<T> v3(n, val); //v3包含n個(gè)重復(fù)的元素,元素的值為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中元素的個(gè)數(shù),為size_type() |
v.push_bakc(t) | 向v的尾端添加一個(gè)值為t的元素 |
v[n] | 返回v中第n個(gè)元素的引用 |
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();
迭代器運(yùn)算
方法 | 作用 |
---|---|
*iter | 返回迭代器所指元素的引用 |
iter->mem | 解引用iter并獲取該元素名為mem的成員,相對(duì)于(*iter).mem |
++iter | 令iter指示容器的下一個(gè)元素 |
--iter | 令iter指示容器的上一個(gè)元素 |
iter1==iter2 | 如果兩個(gè)指示器指示同一個(gè)元素,返回真 |
iter1!=iter2 | 如果兩個(gè)指示器指示不同元素,返回真 |