<C++>_C++的枚举
2016-12-03 23:33
169 查看
C语言中枚举本质就是整型,枚举变量可以用任意整型赋值。而 C++中枚举变量,只能用被枚举出来的元素初始化。
例如我们定义如下枚举:
enum season
{
SPR,
SUM,
AUT,
WIN
};
在main函数中使用:
int main(void)
{
enum season s = SPR;
return 0;
}
按照枚举被发明的初衷,s应该只能等于 SPR、SUM、AUT或WIN,可在C语言中,
enum season s = 100;
这样的定义是可以的:
而在C++中,是编译不过去的:
我们再来看看枚举的副作用:
在C语言中我们常常使用define来定义常量,而在C++中则常使用enum枚举:
在代码中我们可以看到,SPR被赋予了0,后面的也被依次按顺序赋值。
不过我们在使用C++的枚举时,常常省略season,直接这样:
当然我们也可以改变枚举里面元素的值:
这样同样会使枚举里的其他元素相应的改变。
Kyrie Irving___全.
C语言中枚举本质就是整型,枚举变量可以用任意整型赋值。而 C++中枚举变量,只能用被枚举出来的元素初始化。
例如我们定义如下枚举:
enum season
{
SPR,
SUM,
AUT,
WIN
};
在main函数中使用:
int main(void)
{
enum season s = SPR;
return 0;
}
按照枚举被发明的初衷,s应该只能等于 SPR、SUM、AUT或WIN,可在C语言中,
enum season s = 100;
这样的定义是可以的:
而在C++中,是编译不过去的:
我们再来看看枚举的副作用:
在C语言中我们常常使用define来定义常量,而在C++中则常使用enum枚举:
在代码中我们可以看到,SPR被赋予了0,后面的也被依次按顺序赋值。
不过我们在使用C++的枚举时,常常省略season,直接这样:
当然我们也可以改变枚举里面元素的值:
这样同样会使枚举里的其他元素相应的改变。
Kyrie Irving___全.
相关文章推荐
- <@乌龟:>从c#到c++的一些容易出现的困惑(2)
- <From C++ To C#> 更强大的值类型
- C++之四书五经(上) <转>
- <转>c#调用C++DLL类型转换
- <<C++的设计与演化>>读书笔记(四)
- <@乌龟:>C++/CLI语言Specification阅读笔记(1)
- <More Effective C++>笔记--技巧
- C++第九周【任务二】定义Time类中的<<和>>运算符重载,实现时间的输入输出
- C++第九周【任务一】定义Complex类中的<<和>>运算符的重载,实现输入和输出
- <<C++ Primer>>中判断空字符数据的问题
- <From C++ To C#> 做猜数一个小游戏
- <<C++程序设计原理与实践>>粗读 -- chapter6 Chapter7
- <转>标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast
- <C++学习笔记>iterator C++
- <转>C++学得再好,也无法凭这个找到好工作
- <总结> 设计模式之 开放封闭原则OCP C++示例
- <C++实践系列>C++中的虚函数(virtual function)
- <转>Developing Custom Draw Controls in Visual C++
- <<C++网络编程 卷1 运用ACE和模式消除复杂性>>
- <C/C++> Socket编程Http下载的简单实现