C++: Basic functions of Vector

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元素

Detailed description of individual functions

Erase(), fill() set to 0, find() search operation, swap() exchange operation, vector release memory, copy Vector

Guess you like

Origin blog.csdn.net/qq_33021529/article/details/123973349