在ISO C ++中,从main返回0的原因是什么?

时间:2010-04-06 00:42:17

标签: c++

我知道C ++标准说如果没有给出return语句,return 0的末尾会插入main();但是,我经常看到最近编写的,符合标准的C ++代码,它在main()的末尾显式返回0。出于什么原因,如果编译器自动完成,有人想要显式返回0?

9 个答案:

答案 0 :(得分:14)

通过明确表示您明确显示您的意图。

依靠隐含的东西,你可以有两种情况:1)你想要它,2)你忘了它。

答案 1 :(得分:10)

因为从具有非void返回类型的函数中“返回”某些东西看起来很奇怪(即使标准说它不是绝对必要的)。

答案 2 :(得分:4)

  • 向其他程序员明确表示,您不会忘记将return语句放在那里。

  • 如果您不退货,某些编制者可能会发出警告。

  • 明确显示函数返回的内容。

  • 许多程序员不了解这条规则。

答案 3 :(得分:4)

误读。没有理由,如果有人不知道他们会添加return 0;

答案 4 :(得分:4)

仅仅因为您的代码符合标准,谁说您的代码将通过兼容的编译器运行?信不信由你,除了最近版本的GCC和Visual C ++之外,人们确实使用编译器。

当然,其他人都提到了明确的意图。

答案 5 :(得分:3)

它使代码的行为显式化。

答案 6 :(得分:3)

因为有些人不知道。不一定是编写该代码的人(虽然这也是可能的),但有些人在那里。明确地写return 0;对他们来说很好。

另外,作为一种惯例,它使语言更加统一,至少在我看来这对美学来说很重要。

答案 7 :(得分:1)

因为这就是30年前他们这样做的原因。它更像是IMO的惯例。

答案 8 :(得分:0)

我经常这样做,因为我经常编译直接C的代码,所以我要么习惯于输入它,要么因为我创建的代码段main()具有明确的返回值。没有理由将其删除,因此它通常会保留。

然后,有时候我不打扰打字(也许我意识到我不需要它)或者我可能使用了不同的片段。