<分区>
我有一个跟进问题:
Initializing default values in a struct
我有一个已经有 17 个 bool 值的结构,以及一个将它们全部设置为 false
的 clear()
方法。这是一个长期项目;该代码可能在多年后仍在使用并被添加到。有没有一种方法可以初始化所有将自动扩展的成员,以便将新成员添加到结构中的人不需要记住将它们添加到 clear()
方法中(除了评论说“请不要忘记”)?
这个代码库此时不是C++11,所以我不认为我可以在声明中初始化。
代码是这样的:
typedef struct {
bool doThingA;
bool doThingB;
bool doThingC;
bool doThingD;
// etc for several more bools
void clear() {
doThingA = false;
doThingB = false;
doThingC = false;
doThingD = false;
// etc...
}
} EnableFlags;