在销毁时c ++容器使用的巧妙内存概述

时间:2014-08-04 08:52:02

标签: c++ memory memory-leaks containers

我正在查看我的代码,因为随着时间的推移,我的内存使用量(由Windows报告)略有增加。我已经添加了VS2012的调试功能来测试内存泄漏,但我没有找到。

所以,我正在调查我的任何容器(vector,deque等)是否正在增加。

现在,我正在为每个容器编写手动检查,但我宁愿做一些聪明的事情并在此过程中学习新的东西。但是,我不知道如何开始。

我正在寻找的是一种自动更改容器分配的方法,包括文件和行分配位置等信息,并在调用析构函数时显示。这样我就可以看出是否有任何增加到不成比例的大小。

我希望我的代码不是透明的,有点像检查内存泄漏的“新”修改。

有人能指出我正确的方向吗?

由于

的Henrik

1 个答案:

答案 0 :(得分:0)

由于我不知道你的矢量究竟在做什么,我的提示可能太简单了。但是,如果您使用的是支持 shrink_to_fit

的C ++ 11编译器

http://www.cplusplus.com/reference/vector/vector/shrink_to_fit/

或许可能有助于不时调用此函数。