Vector 中size和 capacity的區別

2021-07-01 23:43:22 字數 326 閱讀 1910

size是指容器當前擁有元素的個數,而capacity是指容器在必須分配新的儲存空間之前可以存放的元素總數。

如vectorivect(10),ivect.capacity()=10,ivect.size()=0,當你向ivect中插入元素時,只要沒有超過十個,

那麼capacity就不變,而size為你插入的元素的個數。當你插入第十個時,capacity=size=10,當再插入乙個,

即第十乙個資料時,容器重新分配儲存空間:ivect.capacity()=20,而ivect.size()=11,即容器重新分配空間的

話是現有空間的2倍進行分配,以保證vector的效率。

C 踩坑之vector的size比較

寫 時遇到vector的size比較,片擷取修改如下 include include using namespace std intmain int x a.size 4 if 0 a.size 4 上述過程本不應執行,因為照我們理解 a.size 4 1 0 1 if不成立,則不執行 而實際上a....

STL容器中size和capacity的區別

size 表示當前容器中元素的個數 capacity 表示當前容器在必須分配新的儲存空間之前允許存放元素的個數 與size對應的函式是resize n 它的作用是調整容器的大小使其能夠容納n個元素,如果n小於當前容器的size,則刪除多餘的元素。如果n大於當前容器的size,則新增初始化後的元素。r...

C 中vector和vector的區別

在使用stl容器 比如map list vector等 的時候,是用放乙個物件還是放乙個物件指標,即是用vector還是vector,這裡的vector可以換成其他的容器,int可以換成其他基本型別,也可以自定義的資料結構或類。首先,要說明的是,這兩種方式,怎麼用都可以實現功能,把一組整型數放到容器...