C++ enum 枚举类型
2024-10-18 15:53:51
1. 枚举类型浅谈
假设我们要设计一个打开文件的函数, 打开文件由三种状态: input, output 和 append. 不使用枚举, 我们可能会写出如下的代码
const int input = 1;
const int output = 2;
const int append = 3;
bool open_file(string file_name, int open_mode);
这种做法有两个缺点, 就是无法限制传递给 open_file 函数的第二个参数的取值范围, 只要传递的是 int 值, 函数本身就是合法的.第二个缺点是语义性不强, 传入的 int 变量语义不够明确
使用枚举, 可以比较完美的解决上诉问题
enum open_mode {
input = 1, output, append
}; bool open_file(string file_name, open_mode om){}
2. 枚举的类型和取值
enum weather {
sunny, cloudy, rainy, windy
};
最新文章
- 移动端设置-----rem
- javascript平时小例子⑧(导航置顶效果)
- 35 个 Java 代码性能优化总结
- 【代码笔记】iOS-清除图片缓存UIActionSheet
- 第三个 android控件
- 开源文件比较工具:WinMerge、KDiff3、diffuse
- 黑马程序员——vim编辑器的使用
- 【JQuery学习笔记】一、基础篇
- PHP批量审核后台
- 二叉树的递归遍历 Tree UVa548
- Spring中bean的注入方式
- 关于LeetCode上链表题目的一些trick
- Gym - 101982B Coprime Integers (莫比乌斯反演)
- 【java提高】---java反射机制
- Pygal之世界地图绘制from pygal.i18n import COUNTRIES 报错的解决办法
- python3学习笔记十(循环语句)
- mybatis源码-Mapper解析之SQL 语句节点解析(一条语句对应一个MappedStatement)
- centos7.4+mysql5.6+virtualenv+python3.6+nginx+uwsgi+django生产环境搭建
- 1.gil全局解释器锁, 2. 死锁与递归锁 3. 信号量 4. Event事件 5. 线程queue
- win10锁屏界面无法更新
热门文章
- Spring @Autowired、@Resource、@Required、@Component、@Repository、@Service、@Controller注解的用法和作用
- Prototype的深度探索
- Android--从路径中提取文件名
- IE提示console未定义问题解决
- 在Quartus中如何使用TCL脚本文件配制管脚
- python 中写hive 脚本
- RPC服务框架dubbo(一):简介和原理解析
- OGG目的端的checkpoint table被drop的修复方法
- redis基础之安装和配置(一)
- # mysqlbinlog mysql-bin.000004 mysqlbinlog: unknown variable 'default-character-set=utf8'