1

我有一个大的 .cpp 文件,其中在一个文件中定义和声明了几个类。我正在考虑为每个班级创建一个 .h 文件,但我不确定其优势。

分割文件是纯粹的偏好吗?这会增加编译时间和/或一般可读性吗?我的编译器给了我一个所有类声明的列表,我可以一键轻松访问,因此如果编译器需要更多时间将所有这些文件放在一起,我宁愿把它放在一个块中。

编辑:我要求拆分为 .cpp 和 .h 而不是多个 cpp,因为这个问题已经被驳回,因为已经有了答案。

4

2 回答 2

2

拥有多个文件不会直接减少时间,但是由于可以进行不同的编译,只有更改的代码在链接之前重新编译为目标文件,这意味着如果您在自己的 .cpp 和 .h 文件中拥有每组类您可以节省大量时间。它还具有必然的影响,例如:

  • 调试更直接:您有一个较小的文件可以用来定位和纠正任何错误和错误。
  • 代码通常会更清晰,更易于维护
  • 如果使用 makefile,您可以有选择地编译文件以节省时间
  • 更容易重用代码:您可以将代码的任何给定部分转移到一个新项目中,而无需继承您不需要/不需要的所有部分
  • 更容易独立记录每个类
  • 更容易控制修订/更适合源代码控制
  • 更容易和更高效地部署代码更新,而不是发送一个包含 20 个类的全新巨型文件,您可以只发送已更改的类。

这绝不是一个详尽的清单,只是一个简短的介绍,反对它的论据几乎和支持它的论点一样多,但总的来说,对我来说利大于弊。

于 2013-11-05T15:45:09.090 回答
0

拥有许多 .h 文件的优点还在于,从其他一些翻译单元中,您可能只需要包含一些接口,而不是全部(如果您只有一个头文件,则必须这样做)。

相反,您可能希望在每个相同的头文件中保留与头专用的特定类一起的任何可能的“帮助器”类。

于 2013-11-05T15:46:24.547 回答