Java的EnumSet.allOf()的C ++等效项是什么?

时间:2019-03-17 17:44:35

标签: c++ enum-class

我正在用C ++写一个简单的朴素贝叶斯图像分类器。我想用两种enum class类型对其进行参数化(一种用于输入像素的类型,一种用于图像的类)。问题在于规范的一部分要求我能够将分类器写入文件,因此我需要能够获取所涉及的枚举类中所有元素的整数值。当然,这要求我从有问题的枚举类中获取所有值。

在Java中,我可以写

EnumSet.allOf(PixelTypeEnum.class)

获得包含枚举类的每个元素的集合。 C ++中有类似的习惯用法吗?

1 个答案:

答案 0 :(得分:1)

不,没有。那是因为C ++没有反射。

您可以采用一些方法来模仿EnumSet(例如,我一直在使用的this FlagSet implementation,并且确实向其中添加了一个简单的setAll函数),但是没有构建任何方法-in。