我以前的一位同事编写了一个巨大的头文件,其中包含大约 100 个带有内联成员函数定义的奇怪结构。这个结构文件包含在大多数类实现(cpp文件)和头文件中(不知道为什么我的同事没有使用前向声明)
阅读如此庞大的头文件不仅是一场噩梦,而且由于编译器不时抱怨多个定义和循环引用,因此难以跟踪问题。整体编译过程也很慢。
为了解决许多此类问题,我将包含此头文件从其他头文件移至 cpp 文件(尽可能),并仅使用相关结构的前向声明。我仍然继续收到奇怪的多重定义错误,例如“致命错误 LNK1169:找到一个或多个多重定义符号”。
我现在正在考虑是否应该重构这个结构头文件并将结构声明和定义分离到每个结构的单独 h/cpp 文件中。尽管如果不使用 Visual Studio 中的重构工具来执行此操作会很痛苦且耗时,但这是解决此类问题的好方法吗?
PS:这个问题与以下问题有关:头文件中的多个类与每个类的单个头文件