【发布时间】:2012-12-19 03:00:46
【问题描述】:
假设我有一个 std::vector 结构。如果向量是 clear()'d,内存会发生什么?
std::vector<myStruct> vecs;
vecs.resize(10000);
vecs.clear();
内存会被释放,还是仍然作为可重用缓冲区附加到 vecs 变量?
【问题讨论】:
-
谢谢大家。我希望释放内存 - 保证。所以我使用 new std:vector
分配向量,然后在完成后调用 delete。因此保证内存被释放。 -
@AndrewS.:动态分配的唯一效果是引入了低效率。有关清空向量的合理方法,请参见 jerry 的答案。在循环体中,另一种好方法是只使向量局部于循环体,即在循环体中声明它。
-
只是为了利益,内存为什么要保证免费?
-
因为这是 ios 操作,我试图在更有限的平台上节省内存。
标签: c++ optimization memory vector