1. 程式人生 > >C++ 標準庫 vector型別

C++ 標準庫 vector型別

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;
}