一、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清除元素和空间的三种方法