C++中与Java的EnumSet.allOf()等价的是什么?

3
我正在编写一个简单的C++朴素贝叶斯图像分类器。我希望通过两个枚举类类型来参数化它,一个用于输入像素类型,一个用于图像类别。问题在于规范的一部分要求我能够将分类器写入文件中,因此我需要获取所涉及的所有枚举类中所有元素的整数值。当然,这需要我从所涉及的枚举类中获取所有值。

在Java中,我可以这样写:

EnumSet.allOf(PixelTypeEnum.class)

获取包含枚举类中每个元素的集合。在C++中是否有类似的习语?
1个回答

1
没有,这是因为C++没有反射机制。
有一些方法可以模拟EnumSet(例如我一直在使用的这个FlagSet实现,我还添加了一个简单的setAll函数),但没有内置的功能。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接