将 C 定义放在头文件中是通用规范吗?
一个人的编程风格决定了类声明存储在包含文件中,而定义则存储在包含文件中驻留在单独的 .cpp 文件中。这种方法符合 Loki 在“C 头文件,代码分离”一文中广为人知的答案中概述的原则。
但是,一位同事坚持认为 C 声明通常应包含同一头文件中的定义。他认为这是一种普遍采用的现代做法。
验证这种做法的普遍性
为了确定这种说法的有效性,让我们检查一下观察到的常见做法这行业。
回复
您同事的说法不正确。广泛的做法一直是并且仍然是将代码保留在 .cpp 文件(或其他指定的扩展名)中并将声明保留在标头中。
虽然将代码放在标头中偶尔会有好处,例如增强的编译器内联,由于代码在包含时的重复处理,它还可能导致编译时间延长。此外,当代码包含在标头中时,它可能会引入循环对象关系的复杂性。
总之,分离代码和声明的流行做法符合您的偏好,这与您同事的说法相反。
异常和说明
模板出现了一个值得注意的异常。像 boost 这样的现代库大量使用模板,并经常采用“仅标题”方法。然而,这是一个专门适用于模板的独特场景。
仅标头代码的缺点
考虑仅编写标头代码的缺点非常重要:
结论
分离声明和定义的传统做法仍然是 C 中的主导方法。虽然在某些特定情况下,仅标头代码可能会有所帮助,但了解其局限性并明智地使用它至关重要。声称普遍采用仅标头定义是没有根据的,建议保持分离代码和声明的既定实践。
以上是将 C 定义放入头文件中真的是通用规范吗?的详细内容。更多信息请关注PHP中文网其他相关文章!