標準庫型別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...