【C/C++笔记】之vector的clear和swap清除元素的区别以及用shrink_to_fit()优化空间

一、vector的clear()操作只是清空vector的元素,而vector申请到的内存空间不会被释放掉

vector vec1{ 1,2,3,4,5 };   
vec1.clear();  
cout<<"cap  "<

这时cap=5;

二、使用vector的swap操作:

vector().swap(vec1);

删除元素并且释放内存。推荐这种方式。

三、vector采取的是每次申请空间,就将内存变为原来的两倍,浪费了很多内存,这时我们可以使用shrink_to_fit使得申请的空间刚好等于vector的实际size()。

 

写在后面:

请移步我的另一篇文章:vector清除元素和空间的三种方法

你可能感兴趣的:(C/C++)