Vector自動增長原理

2021-08-19 08:59:40 字數 526 閱讀 5412

/*

自動增長原理 

如果有乙個vector容器容量已滿

再有乙個元素 要往裡插

這時就會重新生成一塊新記憶體 一般容量是原來的兩倍,把舊的元素拷到新的容器

1 發現空間不足,重新申請一塊更大的記憶體

2 將舊空間的資料拷貝新空間

3 舊空間釋放掉 

4 將新元素插入到新空間中

int count = 0; //用來統計重新分配了多少次記憶體

int* p = null;

vectorv;

v.reserve(100000);

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

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

cout << "容量:" << v.capacity() << endl;//一般按兩倍容量申請空間

cout << "大小:" << v.size() << endl; //大小是插入多少條資料

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

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...

mysql自動增長 sql SQL的自動增長

用於 oracle 的語法 在 oracle 中,稍微複雜一點。您必須通過 sequence 對建立 auto increment 字段 該物件生成數字序列 請使用下面的 create sequence 語法 create sequence seq person minvalue 1 start w...

vector的增長機制

include stdafx.h include include using namespace std int main int argc,char argv 效果將會如何?成員函式reserve進行一次重新分配,從而改變vector的capacity,使其大於或等於其引數。2.設想不是每次倍增v...