一、vector的clear()操作只是清空vector的元素,而vector申請到的內存空間不會被釋放掉
vector<int> vec1{ 1,2,3,4,5 };
vec1.clear();
cout<<"cap "<<vec1.capacity();
這時cap=5;
二、使用vector的swap操作:
vector<int>().swap(vec1);
刪除元素並且釋放內存。推薦這種方式。
三、vector採取的是每次申請空間,就將內存變爲原來的兩倍,浪費了很多內存,這時我們可以使用shrink_to_fit使得申請的空間剛好等於vector的實際size()。
寫在後面:
請移步我的另一篇文章:vector清除元素和空間的三種方法