1

在我的代码中,我有一个通过枚举符号引用的中央数据存储。这使我可以查看代码中引用枚举符号以设置/获取值的所有位置。每当我想添加一个新符号时,问题就出现了,它要求重新编译所有可能访问数据存储的代码,因为所有代码都涉及枚举头文件。

是否有一些可以减少重新编译的摘要?也许是设计模式?

4

2 回答 2

1

这就是您所谓的“中央数据存储”的问题。这听起来像是将所有您不知道如何处理的枚举放在一个头文件中的借口。

如果枚举与某个类相关,并且仅在使用该类时使用,则将其放在与该类相同的头文件中。如果您的枚举真的都是独立的,您仍然可以将该头文件分成多个头文件,其中包含更具体的枚举类别。

于 2013-09-06T20:31:21.880 回答
1

如果您可以访问 c++11 功能,您唯一能做的就是使用强类型枚举。然后您可以转发声明枚举,并且您不必将该标头包含在需要该枚举的其他标头中。

对于 c++11 之前的版本,无法阻止重新编译。

于 2013-09-06T20:31:44.570 回答