有没有办法知道枚举值的范围?我期待一些type_traits
模板,例如std::numeric_limits
,但我找不到任何人。
例如:
enum enm { A = -5, B = 3 };
std::cout << std::range_of_enum<enm>::min() << ', '
<< std::range_of_enum<enm>::max() << std::endl;
// Prints -8, 7 with two's complement representation, and -7, 7
// with one's complement representation.
注意:对于那些不知道什么是“枚举范围”(非标准术语)的人,请转到this question。
答案 0 :(得分:2)
没有
我看过的C ++ 2a / 2b反思提案看起来比强大到足以计算这个,如果它们缺乏直接特征。我不知道它们在2020年被标准化的可能性,也不知道最近保证100%的提案的文本。