c++ - 我能数出 enum_class 有多少种吗?
问题描述
enum class COLOR_ : char
{
RED,
GREEN,
BLUE,
YELLOW
};
int monsternum{ kinds_of_COLOR_*3 };
在这个项目期间,我的枚举类COLOR_
可能会发生很大变化。我希望monsternum
每种都必须+3COLOR_
我怎么知道 enum_class 的种类数?
解决方案
假设您enum
的索引是从0
最多到n-1
(n
您想要的数字在哪里),我过去看到的习惯用法是将计数作为“额外”枚举值包含在内。
enum class COLOR_ : char
{
RED,
GREEN,
BLUE,
YELLOW,
COUNT
};
然后你可以得到它并简单地转换为一个int
明确的。
int monsternum{ (int)(COLOR_::COUNT)*3 };
如果您在上面添加任何颜色COUNT
,则COUNT
其索引将相应更改。
推荐阅读
- database - 从 Spring Boot 应用程序连接到 Oracle DB 时如何指定 DBA 角色
- sql - 数据的组合半转置
- php - 自定义代码片段未出现在 Visual Studio 中
- django - 在 Django 中,如何在提交 CreateView 时重定向到 UpdateView?
- mysql - 加入子查询时使用 if 条件
- python - Python 脚本没有响应
- angular - 使用 this.http 为 Angular 服务实现 mixin
- cassandra - 慢超时 500 毫秒/跨节点警告
- java - 配对游戏 - 卡片不要翻转
- maven - 如何在 mvn 依赖树命令中仅列出直接依赖项?