我還是見識短淺,學到現在為止,我並沒有見過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...