我应该#include每个header / cpp文件中需要的所有内容吗?我正在研究2d游戏引擎atm(主要用于练习)并且在查看我的代码时我发现我几乎在每个文件中都重复了字符串和向量。这是一个问题,我该如何处理?
我一直认为你写的每个课程或模块都应该站在自己的两条腿上,可以这么说。我非常喜欢通用编程(我在引擎中包含我自己的脚本语言,使用我自己的草稿脚本引擎)但我也意识到它可能会导致很多开销和混乱。
答案 0 :(得分:5)
我会坚持只在必要时加入<string>
和<vector>
。
至于确保各个标题文件独立存在,我喜欢Google C ++样式指南处理include order的方式。基本上,始终在foo.hpp
中列出所有其他包含之前列出相应的foo.cpp
包含。这样,我们知道foo.hpp
不会期望在它之前包含某些内容,如果它不存在则会失败。
答案 1 :(得分:2)
这不是问题。你应该在每个文件中包含绝对最小的依赖关系 - 不多也不少。