Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/141.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;Valgrind是否会检测到剩余的已分配内存泄漏? 我在使用C++的程序中编写,需要使用新的分配来分配动态内存。我有一个案例,用户可以关闭程序,但我没有包括删除所有剩余内存_C++_Memory Leaks_Valgrind_Dynamic Memory Allocation - Fatal编程技术网

C++;Valgrind是否会检测到剩余的已分配内存泄漏? 我在使用C++的程序中编写,需要使用新的分配来分配动态内存。我有一个案例,用户可以关闭程序,但我没有包括删除所有剩余内存

C++;Valgrind是否会检测到剩余的已分配内存泄漏? 我在使用C++的程序中编写,需要使用新的分配来分配动态内存。我有一个案例,用户可以关闭程序,但我没有包括删除所有剩余内存,c++,memory-leaks,valgrind,dynamic-memory-allocation,C++,Memory Leaks,Valgrind,Dynamic Memory Allocation,注意:此内存由关闭时所有存在的对象指针列表跟踪,因此不会“丢失”内存 如果我在关闭之前不清理阵列,valgrind会认为剩余内存是泄漏内存吗 另一个问题是,如果在程序关闭之前I/do/loop遍历对象数组并删除所有内存,Valgrind是否能够确定是否有内存泄漏 编辑 我确实循环并释放了所有内存,现在Valgrind说我没有泄漏。这是可信的吗?如果你泄露内存,你就会泄露内存,valgrind(通常)会检测并报告它。保持指针直到程序终止还不够好(说服valgrind)。如果您真的需要这样做,您可以

注意:此内存由关闭时所有存在的对象指针列表跟踪,因此不会“丢失”内存

如果我在关闭之前不清理阵列,valgrind会认为剩余内存是泄漏内存吗

另一个问题是,如果在程序关闭之前I/do/loop遍历对象数组并删除所有内存,Valgrind是否能够确定是否有内存泄漏

编辑


我确实循环并释放了所有内存,现在Valgrind说我没有泄漏。这是可信的吗?

如果你泄露内存,你就会泄露内存,valgrind(通常)会检测并报告它。保持指针直到程序终止还不够好(说服valgrind)。如果您真的需要这样做,您可以使用“池”(例如,
Boost.pool
)从中分配,然后在程序结束时立即取消分配整个池


既然你已经说过你有一个循环并删除所有内容的解决方案,那就太好了。就这样吧。如果在关机时遇到性能问题,请考虑池方法。

< P>如果内存泄漏,就会泄漏内存,而ValGRD将(通常)检测并报告它。保持指针直到程序终止还不够好(说服valgrind)。如果您真的需要这样做,您可以使用“池”(例如,
Boost.pool
)从中分配,然后在程序结束时立即取消分配整个池


既然你已经说过你有一个循环并删除所有内容的解决方案,那就太好了。就这样吧。如果在关机时遇到性能问题,请考虑池方法。

如果您手动分配内存,则必须手动删除它(除非使用智能指针)。我删除了C标记。如果手动分配内存,则必须手动删除它(除非使用智能指针)。我去掉了C标签。