BoundsChecker 显示不正确的内存泄漏消息

发布于 2024-08-30 09:18:26 字数 327 浏览 9 评论 0原文

我正在使用 BoundsChecker9.1 和 Visual C++。我有一个类

class Sample{
public:
vector<AnotherClass> x;
};

当我运行程序时,BoundsChecker 工具会将所有 push_back() 调用(例如 Sxpush_back(AnotherClass()))报告为内存泄漏。当 Sample 时,向量 x 中的所有元素是否总是会被释放类超出范围?如果是这样,知道为什么 BoundsChecker 将它们显示为内存泄漏吗?我验证了“AnotherClass”也没有任何内存泄漏!

I'm using BoundsChecker9.1 with visual c++. I have a class

class Sample{
public:
vector<AnotherClass> x;
};

When I run my program the BoundsChecker tool reports all push_back() calls such as S.x.push_back(AnotherClass()) as memory leak.. Wouldn't all the elements in vector x will always be deallocated when the Sample class goes out of scope? If so, any idea about why BoundsChecker is showing them as memory leak? And I verified that "AnotherClass" doesnt have any memory leak either!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

自找没趣 2024-09-06 09:18:26

如果 AnotherClass 的构造函数分配了未在 ~AnotherClass 中释放的内存,则会出现内存泄漏。

If the constructor of AnotherClass allocates memory which isn't deallocated in ~AnotherClass you will have a memory leak.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文