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

Clever memory overview of c++ container usage when destroying

本文关键字:内存 c++      更新时间:2023-10-16

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

因此,我正在查看是否有任何容器(vector,deque等)未检查的。

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

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

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

谁能给我指个正确的方向?

感谢

Henrik

因为我不知道,你的向量到底在做什么,我的提示可能太简单了。但是如果你使用的是支持shrink_to_fit

的c++ 11编译器http://www.cplusplus.com/reference/vector/vector/shrink_to_fit/

有时调用这个函数可能会有帮助。