我经常将枚举用于位标志,如下所示
enum EventType {
NODE_ADDED = 1 << 0,
NODE_DELETED = 1 << 1,
LINK_ADDED = 1 << 2,
LINK_DELETED = 1 << 3,
IN_PIN_ADDED = 1 << 4,
IN_PIN_DELETED = 1 << 5,
IN_PIN_CHANGE = 1 << 6,
OUT_PIN_ADDED = 1 << 7,
OUT_PIN_DELETED = 1 << 8,
OUT_PIN_CHANGE = 1 << 9,
ALL = NODE_ADDED | NODE_DELETED | ...,
};
是否有一种简洁的重复方式来定义一个将所有其他标志组合在一个枚举中的 ALL 标志?对于小型枚举,上述方法效果很好,但假设一个枚举中有 30 个标志,这样做会很乏味。有什么工作(一般)像这样
ALL = -1
?