gpt4 book ai didi

c++ - void main() 有什么问题?

转载 作者:IT老高 更新时间:2023-10-28 22:10:11 27 4
gpt4 key购买 nike

为什么一直不鼓励在 C++ 中将入口点的返回类型设置为 void,后来又被标准删除,被现代编译器禁止?为什么它被认为是不好的做法?

现在,据我了解,C# 和 Java 都允许入口点的返回类型为 void

static void main(String[] args) /* Java */
static void Main(string[] args) /* C# */

C# 和 Java 程序员并不认为这是不好的做法,事实上他们经常使用它。

其他语言(仅打算成为,我怀疑 C++ 至少在这十年内会成功)C++ 的可能继任者,如 D 编程语言或 Vala 也允许 无效的主要()。如您所见,我怀疑 C++ 社区将其从标准中删除,因为它太晦涩或不受欢迎。

所以我的问题是,为什么 C++ 社区要删除 void main()?有什么问题?

最佳答案

C++ 标准委员会可能选择要求 int main() 是因为现有的大量代码预计会使用 return 语句来返回特定的退出代码到运行时系统。期望所有现有代码都更改为使用 exit() 是不合理的,因此标准中要求 int main()

Java 这样的语言在设计时没有任何需要保持兼容的现有代码体。因此,设计人员可以选择 void main() 并要求对非零退出代码使用 System.exit()

因此,为 C++ 标准选择 void main() 的“错误”是它会破坏预期使用 return 的现有代码以及 main() 的退出代码值。

关于c++ - void main() 有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9442121/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com