C 關於vector的輸入和cin的聯絡

2022-02-15 15:15:41 字數 627 閱讀 4163

我還是見識短淺,學到現在為止,我並沒有見過vector還可以用cin去進行輸入的寫法……

例子:

vectorv1,v2;  // 開闢一維陣列

v1.resize(100),v2.resize(100);

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

cin>>v1[i],cin>>v2[i];

為什麼不resize直接cin輸入程式會崩潰?

因為cin後輸入的是變數,需要我們手動開闢記憶體,所以是具有記憶體的,

但是cin>>v1[i]的時候,v1[i]還不存在,當時並未分配記憶體,

所以我們首先需要去進行記憶體分配。

而vector直接利用本身的push_back()可以自動擴容,擴容大約是兩倍(也有說1.5倍等說法的)。

再引申一下其他幾個之前沒接觸過的概念

capacity:容器在分配新的儲存空間之前能儲存的元素總數。(指容器可儲存的最大總數)(空間就是capacity,物件就是容器中的元素)

size:當前容器所儲存的元素個數。(指size是當前容器儲存的個數)

resize:分配空間+建立物件,預設初始化為0。

關於c 中的vector

今天在c 中寫了乙個職工管理的小專案,主要運用了vector的相關知識,vector是c 標準模板庫中的部分內 容,簡單地說,vector是個能夠存放任意型別的動態陣列,能夠增加和壓縮資料。首先在程式開頭處加上 include以包含所需要的類檔案vector 還有一定要加上using namespa...

關於C 中的Vector

vector組委c 中的容器之一,有他非常輕便好用的方面,比如可以不限資料型別。尤其是在作為陣列進行處理時,與常規陣列相比,有許多方法可以直接利用,簡化了工作的時間。1.標頭檔案 vector的標頭檔案就是 include2.常用方法 函式 a.vector的大小 vector.size b.vec...

C 關於vector的學習

在c語言的基礎學習c 今天才知道又vector這個容器 vector是順序存放任意型別的動態陣列 include include include using namespace std intmain 輸出是 5 5 5 6 9 9 9 9 9 示例如下 int main 輸出 56 6 6 6 6...