C 的vector記憶體管理成員函式的行為測試

2021-09-20 18:26:45 字數 693 閱讀 6123

一 **

#include #include using namespace std;

int main(){

vectorivec;

cout<<"容器大小:"<(ivec).swap(ivec);

cout<<"臨時的vector物件的大小為:"<<(vector(ivec)).size()《物件的容量為: " <<(vector(ivec)).capacity()<二 執行

[root@localhost charpter03]# g++ 0316.cpp -o 0316

[root@localhost charpter03]# ./0316

容器大小:0容量:0

容器大小:1容量:1

容器大小:2容量:2

容器大小:3容量:4

容器大小:4容量:4

容器大小:5容量:8

容器大小:6容量:8

容器大小:7容量:8

容器大小:8容量:8

容器大小:9容量:16

容器大小:9容量:16

臨時的vector物件的大小為:9

臨時的vector物件的容量為:9

交換後,當前vector的大小為:9

交換後,當前vector的容量為:9

C 中vector容器的記憶體管理

vector是類模板,某種程度上可以看做是陣列的公升級版,但建立後仍可以改變大小。甚至 c primer 第4版 中還有這樣子的說法 從技術上說,在原來為空的vector容器上n次呼叫push back函式,從而建立擁有n個元素的vector容器,其執行時間永遠不能超過n的常量倍。大家也可能都知道,...

vector和string的記憶體管理

vector 和 string是stl中比較常用的容器,它們都能隨著資料的增加自動增加自身的容量。vector是用動態陣列實現的,當vector沒有元素時,陣列大小為0,一旦vector中加入元素,加入元素後的總大小大於當前vector的容量時,vector會開闢一塊更大的空間,將原來的元素拷貝到新...

C 容器vector的常用成員函式

vector容器是筆試時最經常用到的容器,它實際是乙個類模板,它所具有一些成員函式我們必須熟練使用,這樣才會加快程式設計速度。首先加標頭檔案並定義 include vector vec 1 獲取vector裡的元素個數 int len vec.size 2 向vector新增元素 int temp ...