C++ 標準庫 vector型別
阿新 • • 發佈:2019-01-11
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;
}