【发布时间】:2012-01-31 13:46:08
【问题描述】:
没有特别引用任何代码,我正在寻找对以下示例的解释:
#include <iostream>
int main()
{
std::cout << "Hello world" << std::endl;
return 0;
}
我不明白return 0 做了什么。你能用尽可能简单的英语解释一下吗?
【问题讨论】:
-
简单的英语:函数
main返回值0。 C++ 标准描述了宿主环境如何解释它。 -
在 Unix shell 中,它可以让你判断命令是否成功,如果失败,可能会告诉你为什么失败。如果退出状态(从
main()返回的值或指定为exit()、_exit()或_Exit()的参数)为零,则调用环境(shell)将其解释为成功。如果传递的值为EXIT_FAILURE,则调用环境会将其解释为失败。 Unix 允许退出状态的值为 0..255(尽管有时将其解释为 -128..+127)。在大多数 shell 中,您可以在$?中获取实际值。信号使事情复杂化。 -
解释:您计算机上的某个进程(A)启动了另一个进程(B)。当 B 退出时,它总是会在某处存储一种“退出状态”(这是 main 返回的内容,或者您的程序实际作为参数提供给
exit函数的内容)。父进程 (A) 可以读取该值,并相对于它采取行动:例如:Windows“.bat”脚本可能会读取 %ERRORLEVEL% 事物并对其采取行动。一个 UNIX shell 脚本可能会读取 $?事情,并采取行动。 -
当我们谈到这个主题时,stackoverflow.com/questions/3309042/what-does-main-return 是一个完全不同的问题。
-
好的,谢谢 Johnsyweb。
标签: c++