關於C 的vector用法的總結

2021-08-20 05:42:10 字數 1829 閱讀 3744

標準庫型別的vector表示物件的集合,其中所有的物件都有相同的型別;集合中每乙個物件都有乙個與其對應的索引,索引用於訪問物件。使用時必須包含:

#includeusing std::vector;
1、定義和初始化vector物件

vectorsvec;//預設初始化,svec不包含任何元素

//事實上,最常見的方式是先定義乙個空的vector,

//然後當執行時獲取到元素值就新增進去;

vectorivec;

//往ivec中新增一些值

vectorivec1(ivec);

vectorivec2=ivec;

列表初始化

vectorsvec=;//使用'='進行列表初始化

//也可以將初始值都放在花括號裡進行列表初始化

vectorv;

建立制定數量的元素

vectorivec(10,-1);//10和int元素,每個都初始化為-1

vectorivec1(10);//10個int元素,每個初始化為0

vectorsvec(10,"hello");//10個string元素,每個都初始化為"hello"

vectorsvec1(10);//10個string元素,每個都為空string物件

建立二維陣列

vector> arr(2,vector(5));//建立2行5列的二維陣列,初值值為0
2、向vector中新增元素

push_back負責把乙個值當成vector物件的尾元素「push」到vector物件的"尾端back"

vectordvec;

double temp;

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

從標準輸入中讀取單詞,存入vector中

string word;

vectortext;

while(cin>>word)

3、vector的其他操作

使用引用改變vector中的元素

vectorv;

for(auto &i:v)

特別注意:對於乙個空的vector,不能使用下標向其中新增元素。只能使用push_back. 只能對確知已存在的元素執行下標操作。

4、使用迭代器

begin成員負責返回指向第乙個元素(或第乙個字元)的迭代器;end成員負責返回指向容器(或string物件)的尾元素的下乙個位置的迭代器。

begin和end返回的具體型別由物件是否是常量決定,如果物件是常量,begin和end返回const_iterator;如果物件不是常量,返回iterator;

vector::iterator it;//it是能讀寫的vector的元素

string::iterator it1;//it1是能讀寫的string物件中的字元

vector::const_iterator it2;//it2只能讀元素,不能寫元素

string::const_iterator it3;//it3只能讀字元,不能寫字元

例子,使用迭代器依次輸出text的每一行知道遇到第乙個空白行為止:

for(auto it=text.cbegin();it!=text.cend()&&!it->empty();++it)

{ cout<<*it

關於vector的用法

1.標頭檔案 include 2.用法 1.vectorb 只是代表著 建立了乙個vector的空的物件 別以為這時候的b 0 b 1 等於0 天真。2.vectorv3 10,0 建立乙個有10個元素0的容器 這個時候b 0 0 b 9 0!這個跟陣列一樣 還是會超時 如果你申請的比較大的話 一般...

C 中vector容器的基本用法總結

在c 中,vector是乙個十分有用的容器,下面根據多篇文章對這個vector做一下總結。首先在程式開頭處加上 include以包含所需要的類檔案vector,還有一定要加上using namespace std include using namespace std 例2.1 宣告乙個int向量以...

C 中vector的用法

c 內建的陣列支援容器的機制,但是它不支援容器抽象的語義。要解決此問題我們自己實現這樣的類。在標準c 中,用容器向量 vector 實現。容器向量也是乙個類模板。標準庫vector型別使用需要的標頭檔案 include vector 是乙個類模板。不是一種資料型別,vector是一種資料型別。vec...