繁体   English   中英

使用C / C ++中的枚举

[英]Working with enums in C/C++

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

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

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

现在我希望迭代枚举值,我该怎么做?

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

你能做的最好的事情是在某处创建一个包含所有枚举值的静态const数组,然后迭代它。 如果枚举值都是连续的,你很明显可以很容易地遍历它们,但如果你运气不好。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM