C++ Vector用法详解

2020-01-06 13:16:13王冬梅
易采站长站为您分析C++ Vector用法详解,vector是C++标准模版库(STL,Standard Template Library)中的部分内容,本文详细介绍了它的方方面面,需要的朋友可以参考下    

vector是C++标准模版库(STL,Standard Template Library)中的部分内容。之所以认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单的说:vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。

使用vector容器之前必须加上<vector>头文件:#include<vector>;

vector属于std命名域的内容,因此需要通过命名限定:using std::vector;也可以直接使用全局的命名空间方式:using namespace std;

vector成员函数

c.push_back(elem)在尾部插入一个elem数据。

复制代码
vector<int> v;
    v.push_back(1);
c.pop_back()删除末尾的数据。
复制代码
vector<int> v;
    v.pop_back();
c.assign(beg,end)将[beg,end)一个左闭右开区间的数据赋值给c。
复制代码
vector<int> v1,v2;
v1.push_back(10);
v1.push_back(20);
v2.push_back(30);
v2.assign(v1.begin(),v1.end());
c.assign (n,elem)将n个elem的拷贝赋值给c。
复制代码
vector<int> v;

 

v.assign(5,10);//往v里放5个10


c.at(int index)传回索引为index的数据,如果index越界,抛出out_of_range异常。
复制代码
vecto<int> v;
cout << v.at(2) << endl;//打印vector中下标是2的数据
c.begin()返回指向第一个数据的迭代器。

 

c.end()返回指向最后一个数据之后的迭代器。

复制代码
vector<int> v;
v.push_back(1);
v.push_back(2);
v.push_back(3);
vector<int>::iterator it;
for(it = v.begin();it!=v.end();it++){
    cout << *it << "t";
}
cout << endl;

 

c.rbegin()返回逆向队列的第一个数据,即c容器的最后一个数据。

c.rend()返回逆向队列的最后一个数据的下一个位置,即c容器的第一个数据再往前的一个位置。