说我创建了类似int pointer
和pointer = new int[10];
的内容。现在,如果在完成数组后忘记使用delete[]
,我们就会有内存泄漏。但是如果关闭我的IDE并使用相同的代码重新启动它会发生什么呢?但是这次我添加一个delete[] pointer
将导致第一次运行程序时发生泄漏,或者它仍然存在...永远?
答案 0 :(得分:0)
只要程序一直运行,泄漏就是程序本地的。可能是您在IDE中运行程序或使用命令行单独运行程序,但是当您运行的程序存在时,操作系统会回收内存。
据我所知,重新启动IDE不会对正在运行的程序的内存产生任何影响。
答案 1 :(得分:0)
关闭IDE将无效。
当您的应用程序退出操作系统时,将“清除”您的应用程序使用的内存。 (将其全部标记为未使用)。
您的IDE处理应用程序的启动,并且(可能)也为它运行调试器,但应用程序仍然与您的IDE分开。应用程序运行时,它使用的内存都不属于IDE。当它终止时,由于IDE已断开连接,应用程序使用的所有内存都是免费的,并且IDE保持打开这一事实不会妨碍这一点或导致内存从IDE泄漏。