我发现几个地方讨论了是否将定义放在标题中更好(例如这里)。但是,我找不到类似“仅标头代码指南”之类的东西。链接问题的答案提到了一些缺点:
- 增加编译时间
- 不可能有循环依赖
- 没有(简单)全局对象
但仅此而已吗?
将(所有)代码放在标题中的后果是什么?
如果我使用头球后卫,我会省钱吗,还是有其他陷阱?
我问这个的原因如下:我认为将所有代码放在我的头文件中最容易。它是一个(相当小的)类和函数的集合,应该被其他人包含在他们的代码中。它应该在不同的环境和不同的框架中使用。目前,我不明白为什么我应该构建我的代码(到一个库中),当使用它的人可以简单地包含她/他需要的头文件并编译它时。然而,独立于这个项目,我在将代码放入标头时总是有一种“不好的感觉”,即使我上面提到的 3 点都不重要。如果有人能为我阐明这一点,那就太好了,这样我就可以在更合理的基础上决定将代码放在哪里。