C++ 标准库 vector 类型
1,vector对象的定义和初始化
vector是一个类似于动态数组的类型,对于vector的初始化,如下:
vector<int> v1;//保存int数据类型的一个vector,并且是一个空容器
vector<double> v2;
vector<int> v3(5);//表示有5个0
vector<int> v4(5,3);//表示有5个3
vector<string> v5(5,"ASIA");//表示有5个字符串ASIA
vector<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;
}