终止无尽的while循环

Bri*_*rpe 0 c++

好的,所以我是C++的新手.我确实有一个java背景,但是用c ++我知道我现在必须自己做垃圾收集.

这是我的场景:

int main(){
float * pt;
while(true){
 // some code
}
delete pt;
return 0;
Run Code Online (Sandbox Code Playgroud)

假设您处于无休止的循环中,然后您决定通过单击窗口上的关闭按钮来结束程序.关闭程序有什么作用?它是否终止while循环,然后执行delete命令?或者它只是在不完成删除命令的情况下终止程序.

Jos*_*eld 5

像这样的简单C++程序没有"点击关闭按钮"的概念.在开始使用GUI工具包之前,您甚至不会处理这个问题.终止此程序的不同方式完全取决于您如何运行它.您很可能是在某种终端或命令行窗口中运行它.如果该终端提供关闭按钮,则单击关闭按钮实际上是在终端应用程序中触发某些事件.这完全取决于该应用程序如何处理仍在运行的程序.通常,终端将强制终止任何子进程.然而,这是非常特定于平台的.(对于Linux,请参阅终端关闭时bash收到的信号)

如果您担心delete如果您的程序被强制终止,您的资源可能不会被删除,请不要这样做.当该过程结束时,任何现代操作系统都将清理进程分配的资源.