【发布时间】:2014-01-28 07:29:37
【问题描述】:
许多帖子非常坚持源代码不应放在标头中,并且应将标头文件保持在最低限度。我一直坚持使用自己的代码,但我想使用其他人的代码来实现特定目标(代码记录在此处http://ftp.arl.mil/random/)。
我注意到这基本上是一个定义类的巨大头文件。可以把它留在头文件中吗?我应该将其全部复制到 .cpp 文件并创建一个仅声明函数、结构等的新 .h 吗?
如果我按照我的建议将其拆分为 .cpp 和 .h,它会起作用吗?还是类需要在所有源代码访问的标头中?
【问题讨论】:
-
分发巨型头文件的重点是不必链接库/cpp 文件。用户可以包含文件一次,使用它并完成它。我想如果这是一个 tar.gz 文件并且您必须在使用它之前对其进行编译,那将是一件很痛苦的事情。它与您在应用程序中处理头文件/cpp 文件的方式不同。
-
将源代码放在头文件中是有原因的。有理由不这样做。您应该了解这些问题,而不是试图遵循任意规则。
-
我不推荐它,除非在某些情况下,一个类只有一个 .h 会很酷。但我通常使用
inline来完成这项工作。有一些很好的教程可以理解为什么将所有内容都放在标题中。检查this问题以获取信息。