C 定义在头文件中的放置:这是一种常见的做法吗?
在 C 编程领域,类的放置声明和定义引发了争论。传统上,规范是将这些方面分别分成包含文件和 *.cpp 文件。然而,一位同事声称,当前的最佳实践要求在头文件中包含定义。
为了评估这种所谓的新习惯用法的流行程度,让我们检查一下 C 开发中的广泛使用模式:
传统方法:分离声明和定义
无数的 C 开发者都遵循传统的方法样式,涉及在包含文件 (.h) 中声明类并在 .cpp 文件中实现它们的定义。这种做法类似于 Modula-2 和 Ada 中规范和正文文件的分离。
优点:
仅标头定义:替代方案
某些情况可能会证明将定义放在头文件中是合理的,特别是为了增强编译器优化(例如内联)。然而,采用这种方法也有缺点:
何时仅标头定义是合适的
仅标头定义真正有利的唯一场景是在使用模板时。现代 C 库经常广泛使用模板,需要仅头文件定义。
结论:
不支持您的同事声称所有 C 声明都应在头文件中定义的说法按照惯例。虽然仅标题定义有其利基应用,但分离声明和定义的既定方法仍然是广泛接受的规范。
以上是C 类定义应该放在头文件中吗?的详细内容。更多信息请关注PHP中文网其他相关文章!