当内存泄漏时,如果再次运行程序,可以插入泄漏吗?

时间:2014-10-29 10:46:42

标签: c++ memory-leaks

说我创建了类似int pointerpointer = new int[10];的内容。现在,如果在完成数组后忘记使用delete[],我们就会有内存泄漏。但是如果关闭我的IDE并使用相同的代码重新启动它会发生什么呢?但是这次我添加一个delete[] pointer将导致第一次运行程序时发生泄漏,或者它仍然存在...永远?

2 个答案:

答案 0 :(得分:0)

只要程序一直运行,泄漏就是程序本地的。可能是您在IDE中运行程序或使用命令行单独运行程序,但是当您运行的程序存在时,操作系统会回收内存。

据我所知,重新启动IDE不会对正在运行的程序的内存产生任何影响。

答案 1 :(得分:0)

关闭IDE将无效。

当您的应用程序退出操作系统时,将“清除”您的应用程序使用的内存。 (将其全部标记为未使用)。

您的IDE处理应用程序的启动,并且(可能)也为它运行调试器,但应用程序仍然与您的IDE分开。应用程序运行时,它使用的内存都不属于IDE。当它终止时,由于IDE已断开连接,应用程序使用的所有内存都是免费的,并且IDE保持打开这一事实不会妨碍这一点或导致内存从IDE泄漏。