C++ 标准库 vector类型

来源:互联网 发布:灵犀一动知乎 编辑:程序博客网 时间:2024/06/06 06:34

C++ 标准库 vector 类型

1,vector对象的定义和初始化

vector是一个类似于动态数组的类型,对于vector的初始化,如下:

vector<int> v1;//保存int数据类型的一个vector,并且是一个空容器vector<double> v2;vector<int> v3(5);//表示有5个0vector<int> v4(5,3);//表示有5个3 vector<string> v5(5,"ASIA");//表示有5个字符串ASIAvector<string> v6(5);//表示有5个空字符串
如果想在原有的基础上添加数据,有下如下方法:

v1.push_back(1); v4.push_back(5);v5.push_back("asia");//它是从初始化数据的后面依次添加

2,vector对象的操作

(1)vector<T>::size_type

像string类型一样,vector<int>::size_type是vector配套的,常用在输出的时候如下:

for(vector<int>::size_type x = 0;x < v1.size();x++)    cout << v1[x] <<endl;

(2)vector下标操作不添加元素

#include<iostream>#include<vector>using namespace std;int main(){    vector<int> v1;    for(vector<int>::size_type x = 0;x < 10;x++)    cin >> v1[x];    return 0;}

上面代码看着没有问题,但是它有个致命的错误,就是v1初始化是空容器,没有下标,因此,不能那样输入,需要改为:

#include<iostream>#include<vector>using namespace std;int main(){vector<int> v1;int n;     for(vector<int>::size_type x = 0;x < 10;x++)    {    cin >> n;    v1.push_back(n);    }return 0;}