BoundsChecker 显示不正确的内存泄漏消息
我正在使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果
AnotherClass
的构造函数分配了未在~AnotherClass
中释放的内存,则会出现内存泄漏。If the constructor of
AnotherClass
allocates memory which isn't deallocated in~AnotherClass
you will have a memory leak.