<iostream> 与 <iostream.h> 与“iostream.h”

新手上路,请多包涵

在 C++ 中包含头文件时,…之间有什么区别?

  1. 包括 .h 部分与不包括 .h 部分时将其包装在 <> 标志中?

    #include 与 #include

  2. 将标题名称用双引号括起来还是用 < > 符号括起来?

    #include 与 #include “iostream.h”

原文由 BeachRunnerFred 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 389
2 个回答

简而言之:

iostream.h 已弃用——它是原始的 Stroustrup 版本。 iostream 是标准委员会的版本。通常,编译器将它们都指向同一事物,但一些较旧的编译器不会具有较旧的编译器。在某些奇怪的情况下,它们既存在又不同(以支持遗留代码),然后您必须具体。

""<> 只是意味着在进入库之前检查本地目录中的头文件(在大多数编译器中)。

原文由 Adam Davis 发布,翻译遵循 CC BY-SA 4.0 许可协议

这是一篇不错的链接 文章。

总结一下,给出的理由:

标准委员会生成的 iostream 库版本与 CFront 实现有很大不同。 {剪辑}

为了简化转换,C++ 标准委员会声明包含标准 C++ 头文件的代码将使用缺少扩展的包含指令。这允许编译器供应商提供带有 .h 扩展名的旧式 C++ 库头文件和不带 .h 扩展名的新式头文件。

不使用 .h 版本的优点:

应该使用无扩展名版本的头文件而不是 .h 形式来编写新代码有几个原因。首先是在现代编译器上编译时此类代码的不可预测性。如前所述,使用 .h 标头的结果是特定于实现的。随着时间的推移,给定编译器使用旧样式库的机会会减少。

原文由 Zee JollyRoger 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题