enum和bitset混合运用场景
来源:互联网 发布:手机淘宝如何代理商品 编辑:程序博客网 时间:2024/05/21 18:50
一般使用#define和const创建符号常量,当符号常量多的时候使用enum
运用场景为:任务类有多个状态,需要用一个变量去存储该状态,为了更直观和规范化代码,多个状态用bitset来存储,用enum来作为显示。
#include<iostream>#include<bitset>using namespace std;namespace GameEnum{enum Weekend{ MonDay=1, TuesDay=2, WednesDat=3,};//enum声明的类型名只是用来方便划分符号变量的用途,当调用符号变量的时候,用命名空间调用};struct TaskInfo{ enum TASK_STATUS { TASK_STATUS_NONE = 0, TASK_STATUS_VISIBLE = 1, // 任务可见 TASK_STATUS_ACCEPTABLE = 2, // 任务可接 TASK_STATUS_ACCEPTED = 3, // 任务已接 TASK_STATUS_FINISH = 4, // 任务已完成 TASK_STATUS_SUBMIT = 5, // 任务已提交 TASK_STATUS_END//缺省值等于6 };typedef bitset<TASK_STATUS_END> TASK_STATUS_FLAGS;TASK_STATUS_FLAGS _status;};int main(){cout<<GameEnum::MonDay<<endl;TaskInfo task_info;//任务状态初始化task_info._status.reset();//所有为重置为0//此处任务已接受,状态变更task_info._status.set(TaskInfo::TASK_STATUS_ACCEPTED);//将固定位置1if(task_info._status.test(TaskInfo::TASK_STATUS_ACCEPTED))//检查固定位置是否为1{cout<<"task is accepted"<<endl;}system("PAUSE");}
阅读全文
0 0
- enum和bitset混合运用场景
- Java BitSet使用场景和示例
- BZOJ-3687 Bitset运用
- Python中的lambda和Map混合运用
- TabLayout和banner与XLISTView混合运用
- 说明ThreadLocal的用法和运用场景
- java enum的使用场景和使用方式
- enum的学习运用
- LordRunner混合场景设置
- Ogre::scene_blend 场景混合
- Ogre::scene_blend 场景混合
- LordRunner混合场景设置
- oracle 集操作和exists、in的运用场景
- oracle 集操作和exists、in的运用场景
- oracle 集操作和exists、in的运用场景
- 运行时机制的原理和运用场景
- 任务栈,Activity的启动模式和运用场景
- enum和Enum区别
- 1001. A+B Format (20)(PAT)
- 输出金字塔
- 150. Evaluate Reverse Polish Notation
- 冒泡排序
- 浅谈Java类加载
- enum和bitset混合运用场景
- 01.使用多线程
- javacTask: 源发行版 1.7 需要目标发行版 1.7
- android support v4支持包要点分析,api介绍
- 游戏制作进阶版!!
- “System.TypeInitializationException”类型的异常在 EntityFramework.dll 中发生,但未在用户代码中进行处理
- Android 中 adb 相关问题
- 关于使用Spring的缓存,将携带父id及所有子类全部数据获取,存入缓存,提高性能
- Prime Ring Problem HDU