【发布时间】:2016-03-20 15:45:31
【问题描述】:
我正在使用 C++ 编写一个程序,该程序需要我使用 new 分配的动态内存。我有一种情况,用户可以关闭程序,但我没有包括删除所有剩余内存。
注意:此内存由在关闭时全部存在的对象指针列表跟踪,因此不会丢失任何内存。
如果我在关闭之前不清理数组,valgrind 会认为剩余内存是泄漏内存吗?
另一个问题是,如果我 /do/ 循环遍历我的对象数组并在程序关闭之前删除所有内存,Valgrind 是否能够确定是否有任何内存泄漏?
编辑
我确实循环并释放了所有内存,现在 Valgrind 说我没有泄漏。这可以信任吗?
【问题讨论】:
-
如果您手动分配内存,则必须手动删除它(除非使用智能指针)。我删除了 C 标签。
标签: c++ memory-leaks valgrind dynamic-memory-allocation