#include #include struct c
~c()
};void test()
int main(void)
一領導發了一段**讓我們研究下,不研究不知道,一研究嚇一跳,竟然坑如此之多。
執行後的結果:
c(1)
~c() id=1
c(2)
~c() id=1
~c() id=2
c(3)
~c() id=1
~c() id=2
~c() id=3
c(4)
~c() id=1
~c() id=2
~c() id=3
~c() id=4
c(5)
~c() id=1
~c() id=2
~c() id=3
~c() id=4
~c() id=5
hero we go...
-------- before del ------------
~c() id=5
-------- after del ------------
~c() id=2
~c() id=3
~c() id=4
~c() id=5
請按任意鍵繼續. . .
發現:每次vector空間不足時,都會重新申請導致之前的空間都會釋放掉,如果量級夠大,對效能的消耗可想而知。然後erase的時候會發生移位拷貝,然後釋放最後乙個資料空間。所以vector使用的時候最好先宣告空間,然後少做刪除的操作。插入刪除頻繁的邏輯就不適合於vector。
容器vector 的用法
vector 是向量型別,它可以容納許多態別的資料,如若干個整數,所以稱其為容器。vector 是c stl的乙個重要成員,使用它時需要包含標頭檔案 include 一 vector 的初始化 可以有五種方式,舉例說明如下 1 vectora 10 定義了10個整型元素的向量 尖括號中為元素型別名,...
容器vector的使用
底層結構 動態型別的資料表,可以存放任意型別的的元素 如vector int vector成員變數 iterator start iterator finish iterator end of storage 常用介面 1.建構函式宣告 void printvector const vector v...
vector向量容器
vector容器是陣列的乙個泛化推廣,不僅可以像陣列那樣進行元素的隨機訪問,還可以在容器的尾端插入新元素,實現了random access container和back insertion sequence概念。vector具有自動的記憶體管理功能,對於元素的插入和刪除,能夠動態調整占用的記憶體空間...