1

我正在修改此处显示的代码,但是,我不想使用单个值,而是想创建一个可能值的枚举。

如果可能,我想将其保留在头文件中,并且我希望它包含类似...的值

enum Notes{
    NOTE_B0 = 31,
    NOTE_C1 = 33,
    NOTE_CS1 = 35
};

现在我正在寻找遍历枚举值,我该怎么做?

我也可以存储超过 255 的值吗?

4

2 回答 2

3

您能做的最好的事情是在某处创建一个包含所有枚举值的静态 const 数组并遍历它。如果枚举值都是连续的,您显然可以很容易地遍历它们,但如果不这样做,您就不走运了。

于 2012-04-17T00:10:14.537 回答
1

您可以存储适合基础整数类型的所有值。使用 C++11,您可以指定基础整数。如果您没有指定它,编译器将尝试找到一个适合所有值的值。

迭代是不可能的,因为枚举元素只是编译时值。编译器不需要在运行时存储它们。

于 2012-04-17T01:07:54.177 回答