当内存泄漏时,如果程序再次运行,是否可以将其插入

When memory is leaking can it be plugged if the program is ran again the leak is accounted for?

本文关键字:是否 插入 运行 泄漏 内存 如果 程序      更新时间:2023-10-16

假设我已经创建了类似于int pointerpointer = new int[10];的东西。现在,如果在我处理完数组后忘记使用delete[],我们将出现内存泄漏。但是,如果关闭我的IDE并用相同的代码重新启动它,但这次我添加了一个delete[] pointer,会发生什么?第一次运行程序时引起的泄漏会被堵塞吗?还是仍然存在。。。永远

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

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

关闭IDE不会有任何作用。

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

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