vector容器容量自動增長的原理

2021-09-19 20:55:38 字數 444 閱讀 3958

1. vector會自己根據資料的大小進行容量增長。

檢視vector容量增長的次數

int count = 0;

int* p = null;

vectorv;

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

}cout << "count:" << count << endl;

cout << "容量:" << v.capacity() << endl;

cout << "大小:" << v.size() << endl;

2. 如果已知vector的容量,可以使用   v.reserve(100000)提前分配空間,但這個空間沒有真正的開闢出來。

3. 可以使用v.resize(6)進行資料大小的分配,如果v中元素個數大於6,後面的空間被捨棄。如果小於6, 新增預設值。

Vector自動增長原理

自動增長原理 如果有乙個vector容器容量已滿 再有乙個元素 要往裡插 這時就會重新生成一塊新記憶體 一般容量是原來的兩倍,把舊的元素拷到新的容器 1 發現空間不足,重新申請一塊更大的記憶體 2 將舊空間的資料拷貝新空間 3 舊空間釋放掉 4 將新元素插入到新空間中 int count 0 用來統...

vector容器06之容量和大小

函式原型 vector的容量和大小 void print vector int v cout endl void test else 重新指定大小 v.resize 10 520 利用過載版本,可以指定預設填充值 引數2 print v 如果重新指定的比原來長了,預設用0填充新位置 cout 改變大...

C 學習紀錄 vector容器 容量與大小

1 empty 判斷容器是否為空。為空返回真,不為空返回假。2 capacity 返回容器的容量 3 size 返回容器中元素的個數。元素個數不一定等於容器容量。4 resize int num 重新指定容器的長度為num。若容器變長,以預設值0填充新位置。如果容器變短,則末尾超出容器長度的元素被刪...