我是 C++ 新手,所以这可能是一个新手问题,但是我并不完全清楚如何从内存中清除它。我在网上搜索并查看了几个答案,但不清楚如何正确执行我试图做的事情。
如何在 C++ 中正确地从内存中清除我的向量?谢谢,如果这是一个重复的帖子,我很抱歉。
vector<ElementData> Elements;
正如下面的评论所提到的,我也想返回使用的内存。
除了它不会将任何内存返回给系统,因为容量保持不变。
原文由 JokerMartini 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您想将向量重置为空状态,那么我们可以使用
swap
技巧将向量的内容交换为将被销毁并释放内存的临时对象这将创建一个临时的空向量,将其与您拥有的向量交换,因此现在它是空的,然后销毁临时向量中的所有内容。
你可以在这个小例子中看到它的工作原理
现场示例