枚举和一组预处理的#define有什么不同
只有很小的区别。C 标准中允许枚举和其它整形类别自由混用而不会出错。(但是, 假如编译器不允许在未经明确类型转换的情况下混用这些类型,则聪明地使用枚举可以捕捉到某些程序错误。)
枚举的一些优点: 自动赋值; 调试器在检验枚举变量时, 可以显示符号值; 它们服从数据块作用域规则。(编译器也可以对在枚举变量被任意地和其它类型混用时, 产生非重要的警告信息, 因为这被认为是坏风格。)一个缺点是程序员不能控制这些对非重要的警告; 有些程序员则反感于无法控制枚举变量的大小。
枚举的一些优点: 自动赋值; 调试器在检验枚举变量时, 可以显示符号值; 它们服从数据块作用域规则。(编译器也可以对在枚举变量被任意地和其它类型混用时, 产生非重要的警告信息, 因为这被认为是坏风格。)一个缺点是程序员不能控制这些对非重要的警告; 有些程序员则反感于无法控制枚举变量的大小。
【枚举和一组预处理的#define有什么不同】相关文章
2. Ref与out有什么不同
3. 声明struct x1 { . . . }; 和typedef struct { . . . }x2;有什么不同
5. 不同浏览器创建XMLHttpRequest方法有什么不同
本文来源:https://www.mianshiwenti.com/a13162.html
进入下载页面
﹝枚举和一组预处理的#define有什么不同﹞相关内容
- Java的类与C++的类有什么不同
- 值类型与引用类型有什么不同?请举例说明?并分别列举几种相应的数据类型
- 请解释流与文件有什么不同
- 程序集与命名空间有什么不同
- rowid和rownum有什么不同
- AJAX应用和传统Web应用有什么不同
- 介绍一下#error预处理
- IMPORT的选项IGNORE有什么作用?缺省是什么设置?
- IMPORT的选项IGNORE有什么作用? 缺省是什么设置?
- static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?