Basic functions of Vector
I have studied containers such as vector, set, and map before, and I searched for what I needed, and I didn't understand the content in detail. Recently, I was looking at the related content of STL, so I sorted out some basic content, so as to avoid cramming when I encounter it in the future.
1. Constructor
vector<T> v; //创建一个空的vector
vector<T> v(int nSize, const t& t); //创建一个vector,元素个数为nSize,元素值均为t
vector<T> v(int nSize); //创建一个vector,元素个数为nSize
vector<T> v(const vector&); //复制构造函数
vector<T> v = vector(begin,end); //复制[begin,end]范围内另一个数组的元素到 v中
2. Add elements
v.push_back(const T& x); //在vector尾部增加一个元素x
v.insert(iterator it, const T& x); //在vector中迭代器指向的元素前插入一个元素x
v.insert(iterator it, int n,const T& x); //在vector中迭代器指向的元素前插入n个相同的元素x
v.insert(iterator it,const_iterator first,const_iterator last); //在vector中迭代器指向的元素前插入另一个相同类型vector中[first,last]间的元素
3. Delete elements
v.erase(iterator it); //删除vector中迭代器指向的元素
v.erase(iterator first, iterator last); //删除vector中[first,last)的元素
v.pop_back(); //删除vector中的最后一个元素
v.clear(); //清空向量中的所有元素
4. Traversing the vector
v.at(int nPos); //返回nPos位置元素
v.front(); //返回vector的首元素
v.back(); //返回vector的尾元素
v.begin(); //返回指向第一个元素的迭代器
v.end(); //返回指向最后一个元素下一位置的迭代器
v.rbegin(); //反向迭代器,指向最后一个元素
v.rend(); //反向迭代器,指向第一个元素的前一个位置
5. Judgment function
v.empty(); //判断vector是否为空
6. Size function
v.size(); //返回vector中元素个数
v.capacity(); //返回当前vector中所能容纳的最大元素个数
v.max_size(); //返回当前vector最大可允许的元素数量个数
7. Other functions
v.swap(vector& v2); //交换两个同类型的vector
v.assign(int n,const T& t); //设置vector中第n个元素的值为t
v.assign(const_iterator first,const_iterator last); //vector中[first,last)中的元素设置成当前vector元素