要求你熟悉stl,言下之意就是要你熟悉stl的内部实现。

 

vector的clear动作并不回收内存,有点像内存泄露但又不是内存泄露,因为下次装入元素不用分配内存,直接使用这些预分配内存,

clear并不改变vector的capacity。vector内的元素如果是对象型会在clear时调用对应的析构,如果是指针型,vector并不负责释放

内存,这个会引起真正的内存泄露。

 

如果你想回收vector的内存,那么可以用swap技法,比如vector<type> tmp.swap(v) 。这将生成一个空的vector,然后与现有的

vector交换。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-19
  • 2021-06-07
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-17
相关资源
相似解决方案