我想我的c++代码停止运行,如果某个条件得到满足,但我不知道如何做到这一点。因此,在任何时候,如果if语句为真,就像这样终止代码:
if (x==1)
{
kill code;
}
我想我的c++代码停止运行,如果某个条件得到满足,但我不知道如何做到这一点。因此,在任何时候,如果if语句为真,就像这样终止代码:
if (x==1)
{
kill code;
}
当前回答
正如Martin York提到的,退出不像返回那样执行必要的清理。
在exit的地方使用return总是更好。 如果你不在主程序中,无论你想退出程序的哪个位置,请先返回主程序。
考虑下面的例子。 使用下面的程序,将用所提到的内容创建一个文件。 但是如果return是带注释的&未注释的exit(0),编译器不会保证文件将有所需的文本。
int main()
{
ofstream os("out.txt");
os << "Hello, Can you see me!\n";
return(0);
//exit(0);
}
不仅如此,在程序中有多个退出点会使调试更加困难。 仅在可以对其进行合理解释时使用exit。
其他回答
正如Martin York提到的,退出不像返回那样执行必要的清理。
在exit的地方使用return总是更好。 如果你不在主程序中,无论你想退出程序的哪个位置,请先返回主程序。
考虑下面的例子。 使用下面的程序,将用所提到的内容创建一个文件。 但是如果return是带注释的&未注释的exit(0),编译器不会保证文件将有所需的文本。
int main()
{
ofstream os("out.txt");
os << "Hello, Can you see me!\n";
return(0);
//exit(0);
}
不仅如此,在程序中有多个退出点会使调试更加困难。 仅在可以对其进行合理解释时使用exit。
返回0;把它放在int main()中任何你想要的位置,程序将立即关闭。
当执行流到达主函数的末尾时,程序将终止。
要在此之前终止它,可以使用exit(int status)函数,其中status是返回到启动程序的值。0通常表示非错误状态
如果在代码深处的某个地方出现错误,那么要么抛出异常,要么设置错误代码。抛出异常总是比设置错误代码更好。
人们常说“调用退出(返回代码)”,但这是不好的形式。在小程序中是可以的,但是有一些问题:
您最终将从程序中获得多个退出点 它使代码更加复杂(比如使用goto) 它不能释放在运行时分配的内存
实际上,你唯一应该退出这个问题的时候是main.cpp中的这一行:
return 0;
如果您正在使用exit()来处理错误,那么您应该了解异常(以及嵌套异常),这是一种更加优雅和安全的方法。