有没有办法在枚举中获得常数?
例如:
enum C{id,value};
稍后这将返回2:
//pseudo code
get<C>::value
而且,是否可以通过[] optor访问这些常量?如: C [0]将返回id
答案 0 :(得分:5)
通常,从零开始,最后一个成员给出枚举的大小,不包括它。
enum C { id = 0, value, size };
C::size
是枚举的大小。是否可以通过下标访问这些常量?不,不幸的是,绝对不可能。但是,在这种情况下,你真的不想要枚举 - 你只需要一个常量数组。
答案 1 :(得分:1)
用于此的常见习语是
enum C {
id,
value,
LAST_ENUM_C // or something similar.
};
但是假设这里的枚举值没有间隙(即没有id = 3, value = 15
)。