標準庫型別vector

2021-07-26 20:56:47 字數 1339 閱讀 2983

標準庫型別vector表示物件的集合,其中所有物件的型別都相同,集合中每個物件都有乙個索引,通過索引可以找到並訪問物件,也可以理解為vector為容器,vector是乙個類模板。

即在模板名字後面跟著一對尖括號,在括號內放上資訊,提供的額外資訊就是vector內所存放物件的型別,如:

vectorivec;//ivec儲存int型型別物件,則為vector型別

vectorsvec;//svec儲存string型別的物件,則為vector型別

定義和初始化vector物件

初始化vector物件時與標準庫型別string很相似,不同的是在於列表初始化時需要注意幾點。

先說常規初始化操作,如:

vectorv1;//預設初始化,v1為乙個空的集合

vectorv2(v1);//直接初始化,v2表示v1的副本

vectorv3 = v2;//復值初始化,與前者相同,v3表示v2的副本

vectorv4 = ;//列表初始化,集合中包含有a,b,c

vectorv5;//同上

vectorv6(10,a);//v6包含10個重複的元素,每個都為a

vectorv7(10);//v7包含10個空元素,都為0;

注意的是列表初始化時,列表初始值還是元素數量?

顯而易見列表初始化使用花括號,圓括號則不行,

vectorv4;//列表初始化,集合中包含有a,b,c

vectorv5(a,b,c);//錯誤

如果初始化使用花括號的形式,但是提供的值又不能用來列表初始化,則就要考慮用這樣的值來構造vector物件,如:

vectorv1;//列表初始化,有乙個元素

vectorv2("hi");//錯誤,不能使用字串字面值構建vector物件

vectorv3;//v3有10個預設初始化的元素,因為花括號中提供值的型別與v3型別(vector)相一致,才可以進行列表初始化。

vectorv4;//v4有10個值為hi的元素

vector物件中新增元素

傳統的初始化方法在有些時候太過笨重,不方便,則c++可以利用vector的成員函式puch_back實現向vector物件中新增元素,不可以使用下標運算子來增添物件

如:vectorvec1;

for(int i = 0;i <= 10;++i)

vec1.puch_back(i);

cout << vec1 << endl;

其他對vector物件的操作與標準庫型別string相一致

標準庫vector型別

vector是同一種型別的物件的集合,每個物件都有乙個對應的整數索引值.和string物件一樣,標準庫將負責管理與儲存元素相關的記憶體.我們把vector稱為容器,是因為它可以包含其他物件.乙個容器中的所有物件都必須是同一種型別.使用vector之前,必須包含相應的標頭檔案.include usin...

標準庫型別vector

宣告 include using std vector 定義和初始化vector物件 vectorv1 vectorv2 v1 vectorv2 v1 vectorv3 n,val v3包含了n個重複的元素,每個元素的值都是val vectorv4 n v4包含了n個重複地執行了值初始化的物件 ve...

標準庫型別vector

文件 vector標準庫 include using std vector 預設初始化 vector a 定義乙個指定型別的空vector 列表初始化 vector b c 11新標準提供的另外一種初始化的方法,建立指定數量的元素 vector n,a 建立了n個型別為t的元素a 值初始化 vect...