以编程方式推断枚举的大小,与其元素的值无关?

时间:2017-12-06 07:05:51

标签: c++ c++11 enums

是否有任何方式,可能需要C ++ 11/14来推断枚举中元素的数量,而不管枚举元素本身的值是什么?

考虑像

这样的枚举

enum { Val1 = 1, Val2 = 2, Val3 = 4 }

答案是3.我知道那里有皱纹,我可以在那里Val3 = Val1,但我的用例可以忽略这一点。

我已经看到了很多类似的问题,无论是在SO还是其他地方,但我还没有找到合适的答案。如果有的话。

通常,建议的解决方案是引入一个LAST元素,但这只会给我下一个更高的枚举值(使用上面的例子,那就是5),这对我没用。

1 个答案:

答案 0 :(得分:2)

  

如果有的话。

即使使用新的C ++ 17,也没有一项我知道的提案可以让您实现这一目标。

  

通常,建议的解决方案是引入一个LAST元素,但这只会给我下一个更高的枚举值(使用上面的例子,那就是5),这对我没用。

然后你将不得不重新解决你的问题。