我在用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/