对于 main() 函数,有一个重要而常被误解的核心语言点:唯一“正确且具有移植性”的 main() 函数。根据C++标准,main() 只有两种定义式具备可移植性,那就是:
int main()
{
......
return 0;
}
和
int main( int argc , char* argv[] )
{
......
return 0;
}
对于第二个样例中的参数 argv ,也就是命令行实参所形成的 array ,其类型也可定义为 char** ,但是要注意,对于 main() 函数的返回值类型必须为 int。
对于 main() 函数的返回值,你可以(但非必要)以一个 return 语句终结 main() 函数。
不同于 C,C++ 定义了一个隐晦的 return 0;于 main() 函数的终点,这意味着任何程序离开main() 函数时可以不用显示的写出return 语句。
例如:
int main()
{
......
.....
}
对于main() 函数的return 语句,0以外的任何值都代表某种失败。
如果不想以“main() 返回”方式结束C++程序,通常应该调用 exit() ,quick_exit() 或者 terminate()。