为什么人们在C ++中使用`main()`而不是`int main()`?

时间:2017-02-17 04:37:47

标签: c++

可以在C中使用main()代替int main(),但这是outdated practice。但我看到人们在C ++中使用main()而不是int main()。如果他们使用main(),他们的意思是void main()this question相同吗?

2 个答案:

答案 0 :(得分:0)

当使用当前版本的GCC时,这两个版本都编译为完全相同的输出:

int main(int argc, char* argv[]) { ... }

main(int argc, char* argv[]) { ...}

因此我得出结论int是隐含的。

答案 1 :(得分:0)

有趣的是。我理解你的问题彼得。 但现在没有人在没有原型的情况下使用main()声明。 你问过的问题是关于旧的c标准但是我们在c标准11中。所以不要期望旧的main()声明。在旧的c标准中,如果函数没有返回任何东西,那么它们曾经假设返回一个整数。希望这能解释你的问题。 如果你有更多的疑惑,请参考 看看链接 http://ee.hawaii.edu/~tep/EE160/Book/chapapx/node7.html 我认为它曾经回归 所以c ++标准可能同样支持旧标准。

您现在找到的最常见的声明是
int main(int argc,char ** argv) 要么 int main() 要么 void main()