c++ - Java 的 EnumSet.allOf() 的 C++ 等价物是什么?

标签 c++ enum-class

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

用Java,我会写

EnumSet.allOf(PixelTypeEnum.class)

获取包含枚举类的每个元素的集合。 C++中有类似的习语吗?

最佳答案

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

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

关于c++ - Java 的 EnumSet.allOf() 的 C++ 等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55210041/

相关文章:

c++ - 如何忽略/删除接触图像边界的轮廓

c++ - 在顶层使用 shared_ptr 而不是 scoped_ptr 有什么优势吗?

C++模板数组大小推导

c++ - 可以在类中使用 C++20 中的 'using enum' 吗?

c++ - C++ 中的枚举类不能在 Mac 中编译,而在 Windows 中可以工作

c++ - 访问 vector 字段的键 - 命名空间中的枚举类或枚举?

c++ - 制作 'Q' 关闭程序

C++ 移位位

C++11 在 switch case 中混合枚举类和 unsigned int 将无法编译

c++ - 不能使用枚举类作为 unordered_map 键