【发布时间】:2014-03-13 13:47:53
【问题描述】:
我最初是学习用 Java 编程的,因此在使用枚举时,我可以使用 .values() 来生成该特定枚举中所有值的数组。我注意到现在学习C++,没有等效的方法。
我确信人们已经提出了不错的解决方法,因此解决此问题的最佳方法是什么?
【问题讨论】:
-
侧边栏/相关:stackoverflow.com/q/261963/420683 C++11 中没有这样的功能。您可以添加一个哨兵枚举器并依赖枚举器的连续性,或者使用一些预处理器魔法。
-
枚举是程序中有意义的常量。如果你在编译时不知道你有什么常量,我有坏消息要告诉你。这就像忘记常数 0、1、2、3、4、5、6、7、8 和 9 组成一个数字。也就是说,
enum常量通常用于区分配置或为您可能需要执行不同操作的每个选项提供一组选项。如果您可以编写可以处理enum值的代码,无论将来添加什么,您可能一开始就不想使用enum。 -
这不是一个简单的方法。无论解决方案如何,我认为这一切都将非常“骇人听闻”。
-
@JoachimPileborg 是的,我很可能期待这个哈哈。
-
C++ 中没有这样的功能。
标签: c++ arrays enums enumeration