我在C++中有一个奇怪的向量问题..
我创建了一个向量并在其中插入了10000个整数值并检查了内存利用率.它是600 kb.但在我删除了矢量之后,我的系统监视器仍然表示该程序使用600 kb.
任何人都可以解释为什么即使在我擦除矢量后内存也没有被释放
注意:我已经使用了所有删除方法(erase,pop_front,pop_back,clear ...即便如此我也有同样的问题)
感谢致敬...:)
真正摆脱std::vector<>
前C++ 11中未使用内存的唯一方法是将其与空向量交换:vector<int>().swap(myvec)
.在C++ 11中,您有一个成员函数shrink_to_fit
,它通常被实现为刚才提到的交换习惯用法.