在vector中新增500個元素:
vector
vecint;
for (int i=0;i<500;i++)
int j= vecint.capacity(); //j=512
i = vecint.size(); //i=500
第一種辦法使用 clear ,清空元素,但不**空間
vecint.clear();
j= vecint.capacity(); //j=512
i = vecint.size(); //i=0
第二種辦法使用 erase迴圈刪除,結果同上
vector
::iterator iter=vecint.begin();
for ( ;iter!=vecint.end();)
j= vecint.capacity(); //j=512
i = vecint.size(); //i=0
erase在每次操作時,迭代器指標會整體前移1,就是每次都會「搬」全部資料,所以vector不適合做頻繁刪除的容器
第三種辦法 最簡單的使用swap,清除元素並**記憶體
vector
().swap(vecint); //清除容器並最小化它的容量,
// vecint.swap(vector()) ; 另一種寫法
j= vecint.capacity(); //j=0
i = vecint.size(); //i=0
vector().swap(vec);//清空容器
vector
v;string s;
// 使用v和s
vector
().swap(v); // 清除v而且最小化它的容量
string().swap(s); // 清除s而且最小化它的容量
STL vector 的使用方式
向量容器不但能像陣列一樣對元素進行隨機訪問,還能在尾部插入元素,是一種簡單 高效的容器,完全可以代替陣列。同樣 下標從0開始 1.標頭檔案 vector 2.宣告 vector type v 可以事先確定乙個長度 不夠再擴充套件 甚至,先全賦值 例 vector double v 10,2.555 ...
STL vector 的使用演算法
includeusing namespace std include 向量 include 迭代器 include 演算法 include 函式 stl三大元件 容器,演算法,迭代器 void main vectora ar,ar 8 a.push back 1 a.push back 2 copy...
STL vector的簡單使用
vector類似與陣列,但更加安全,且長度是可變的。vector能儲存同種型別的元素。empty函式判斷vector是否為空 clear函式清空vector maxsize函式返回vector最大儲存量 begin函式返回vector的的第乙個元素的迭代器指標 end函式返回vector的最後乙個元...