在 C++ 中包含头文件时,…之间有什么区别?
包括 .h 部分与不包括 .h 部分时将其包装在 <> 标志中?
#include
与 #include 将标题名称用双引号括起来还是用 < > 符号括起来?
#include
与 #include “iostream.h”
原文由 BeachRunnerFred 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 C++ 中包含头文件时,…之间有什么区别?
包括 .h 部分与不包括 .h 部分时将其包装在 <> 标志中?
#include
将标题名称用双引号括起来还是用 < > 符号括起来?
#include
原文由 BeachRunnerFred 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是一篇不错的链接 文章。
总结一下,给出的理由:
标准委员会生成的 iostream 库版本与 CFront 实现有很大不同。 {剪辑}
为了简化转换,C++ 标准委员会声明包含标准 C++ 头文件的代码将使用缺少扩展的包含指令。这允许编译器供应商提供带有 .h 扩展名的旧式 C++ 库头文件和不带 .h 扩展名的新式头文件。
不使用 .h 版本的优点:
应该使用无扩展名版本的头文件而不是 .h 形式来编写新代码有几个原因。首先是在现代编译器上编译时此类代码的不可预测性。如前所述,使用 .h 标头的结果是特定于实现的。随着时间的推移,给定编译器使用旧样式库的机会会减少。
原文由 Zee JollyRoger 发布,翻译遵循 CC BY-SA 3.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.5k 阅读
3 回答480 阅读✓ 已解决
简而言之:
iostream.h
已弃用——它是原始的 Stroustrup 版本。iostream
是标准委员会的版本。通常,编译器将它们都指向同一事物,但一些较旧的编译器不会具有较旧的编译器。在某些奇怪的情况下,它们既存在又不同(以支持遗留代码),然后您必须具体。""
与<>
只是意味着在进入库之前检查本地目录中的头文件(在大多数编译器中)。