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

What is the C++ equivalent of Java's EnumSet.allOf()?

本文关键字:C++ 等价物 是什么 EnumSet allOf Java      更新时间:2023-10-16

我正在编写C 中的一个简单的幼稚贝叶斯分类器。我想通过两种enum class类型(一种用于输入像素的类型,一种用于图像类别)。问题在于规格的一部分要求我能够将分类器写入文件,因此我需要能够获取所讨论的枚举类中所有元素的整数值。当然,这要求我从有关枚举类中获取所有值。

在Java中,我可以写

EnumSet.allOf(PixelTypeEnum.class)

获得包含枚举类的每个元素的集合。C ?

中是否有类似的成语

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

您可以采用一些方法来模仿EnumSet(例如,我一直在使用的FlagSet实现,我确实添加了一个微不足道的setAll函数),但没有内置。