Working Draft, Standard for Programming Language C++ 3.6.1.5
5 A return statement in main has the effect of leaving the main function (destroying any objects with automatic storage duration) and calling std::exit with the return value as the argument. If control reaches the end of main without encountering a return statement, the effect is that of executingreturn 0;
在 main 函数中,没有 return 语句也有效(即能销毁在自动存储期中创建的任何对象)。此时调用的是以返回值为参数的 std::exit。如果运行到 main 的底部都没有遇到 return 语句,其效果相当于执行了 return 0;