我有一个大的 .cpp 文件,其中在一个文件中定义和声明了几个类。我正在考虑为每个班级创建一个 .h 文件,但我不确定其优势。
分割文件是纯粹的偏好吗?这会增加编译时间和/或一般可读性吗?我的编译器给了我一个所有类声明的列表,我可以一键轻松访问,因此如果编译器需要更多时间将所有这些文件放在一起,我宁愿把它放在一个块中。
编辑:我要求拆分为 .cpp 和 .h 而不是多个 cpp,因为这个问题已经被驳回,因为已经有了答案。
我有一个大的 .cpp 文件,其中在一个文件中定义和声明了几个类。我正在考虑为每个班级创建一个 .h 文件,但我不确定其优势。
分割文件是纯粹的偏好吗?这会增加编译时间和/或一般可读性吗?我的编译器给了我一个所有类声明的列表,我可以一键轻松访问,因此如果编译器需要更多时间将所有这些文件放在一起,我宁愿把它放在一个块中。
编辑:我要求拆分为 .cpp 和 .h 而不是多个 cpp,因为这个问题已经被驳回,因为已经有了答案。
拥有多个文件不会直接减少时间,但是由于可以进行不同的编译,只有更改的代码在链接之前重新编译为目标文件,这意味着如果您在自己的 .cpp 和 .h 文件中拥有每组类您可以节省大量时间。它还具有必然的影响,例如:
这绝不是一个详尽的清单,只是一个简短的介绍,反对它的论据几乎和支持它的论点一样多,但总的来说,对我来说利大于弊。
拥有许多 .h 文件的优点还在于,从其他一些翻译单元中,您可能只需要包含一些接口,而不是全部(如果您只有一个头文件,则必须这样做)。
相反,您可能希望在每个相同的头文件中保留与头专用的特定类一起的任何可能的“帮助器”类。