我知道C ++标准说如果没有给出return语句,return 0
的末尾会插入main()
;但是,我经常看到最近编写的,符合标准的C ++代码,它在main()
的末尾显式返回0。出于什么原因,如果编译器自动完成,有人想要显式返回0?
答案 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()
具有明确的返回值。没有理由将其删除,因此它通常会保留。
然后,有时候我不打扰打字(也许我意识到我不需要它)或者我可能使用了不同的片段。