可以编写一个返回枚举中元素数量的函数吗?例如,假设我已定义:
enum E {x, y, z};
Run Code Online (Sandbox Code Playgroud)
然后f(E)将返回3.
Kor*_*icz 18
不.
如果有,你不会看到这样的代码:
enum E {
VALUE_BLAH,
VALUE_OTHERBLAH,
...
VALUE_FINALBLAH,
VALUE_COUNT
}
Run Code Online (Sandbox Code Playgroud)
请注意,此代码也是(讨厌的)解决方案的提示 - 如果添加最终的"guard"元素,并且没有明确说明枚举字段的值,那么最后一个"COUNT"元素将具有该值你正在寻找 - 这是因为枚举数从零开始:
enum B {
ONE, // has value = 0
TWO, // has value = 1
THREE, // has value = 2
COUNT // has value = 3 - cardinality of enum without COUNT
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8815 次 |
| 最近记录: |