vector是一種類型對象的集合,它是一種順序容器,容器中的全部對象必須都是同一種類型。想了解順序容器的更多內容:C++順序容器知識總結。vector的對象是能夠動態生長的,這說明它在初始化時能夠不用指定大小,而是再使用時根據元素所需的空間動態增加。C++中還有一種常見的類型string,它和vector有不少類似之處,具體能夠看《C++標準庫string類型的使用和操做總結》這篇博文。下面簡單介紹一下vector容器的使用和操做。html
使用vector以前必須在程序前的庫包含中包含相應的頭文件,以下:函數
#include<vector>
using std::vector;
vector定義了幾種構造函數,因此它提供了幾種初始化的方式,以下:post
vector<T> v1; vevtor保存類型爲T的對象。默認構造函數v1爲空。 vector<T> v2(v1); v2是v1的一個副本,v1和v2的元素類型必須相同 vector<T> v3(n,i); v3包含n個值爲i的元素 vector<T> v4(n); v4包含初始化的元素的n個副本,默認元素值爲0
vector的不少操做都相似於string對象的操做,下面僅僅列出一些經常使用的操做。url
v.empty(); 若是v爲空,則返回true,不然返回false v.size(); 返回v中元素的個數 v.push_back(t); 在v的末尾添加一個值爲t的元素 v[n]; 返回v中位置爲n的元素,從0開始計數 v1=v2; 把v的內容替換爲v2的一個副本 v1==v2; 比較v1和v2的內容,相等則返回true,不然返回false !=,<,<=,>和>= 保持這些操做符慣有的含義
值得注意的是在進行下標操做時,必須是已經存在的元素才能進行下標索引,不然經過下標索引賦值,不會添加任何元素,如:spa
vertor<int > ivec; for(vector<int >::size_type i=0;i!=10;++i) ivec[i]=i; //上面則條語句不會像容器添加任何元素,由於ivec是空的對象,因此應該改爲下面的語句 vertor<int > ivec; for(vector<int >::size_type i=0;i!=10;++i) ivec.push_back(i);
參考文獻code
《C++ PRIMER》 中文版htm