可能重复:
reduce the capacity of an stl vector
Is this normal behavior for a std::vector?强制一个std :: vector释放它的内存?
我知道,当你调用vector.clear()的标准::载体不 '自由' 的记忆,但我怎么能做这个?一旦清除它,我希望它释放所有资源,但我不想销毁它。
以下是现在正在发生的事情。 我有一个名为OGLSHAPE的类,我将它们推入它们的向量中。我希望一旦我做了shapevec.clear(),我就可以恢复所有的记忆,但只有3/4恢复了。我不是100%确定这是否是内存泄漏,所以我想释放所有资源以确保它不是泄漏。感谢
尼尔,有没有理由让你有'tmp'或者只是一个风格和个人喜好的问题? – sbi 2010-07-03 20:56:54
@sbi两者:-)我认为它更清晰。 – 2010-07-03 20:59:29
@尼尔:是的,我的措辞不好,我的意思是问是否有一个技术原因。无论如何,谢谢你的回答。我可能已经被_C Terseness Virus_毒害了,但我实际上更喜欢'std :: vector().swap(v)'。 –
sbi
2010-07-03 21:08:08