enum和enum class的使用
来源:互联网 发布:c4d mac 卸载 编辑:程序博客网 时间:2024/05/18 11:25
enum只能用在类外,并且作用域的范围为全局。
enum class既用在类外,又可以用在类内,用在类内作用域的范围为整个类,类外作用域全局。无论内外,只要用到里面的内容必须加上 枚举类::内容
c++11中引入了新的枚举类型---->强制枚举类型
enum [identifier] [: type]
{enum-list};
enum [class|struct] [identifier] [: type]
{enum-list};
参数说明:
identifier:指定给与枚举的类型名称。
type:枚举器的基础类型(默认int),所有枚举器都具有相同的基础类型,可能是任何整型。
enum-list:枚举中以逗号分隔的枚举器列表。 范围中的每个枚举器或变量名必须是唯一的。 但是,值可以重复。 在未区分范围的枚举中,范围是周边范围;在区分范围的枚举中,范围是enum-list本身。
class:可使用声明中的此关键字指定枚举区分范围,并且必须提供identifier。 还可使用struct关键字来代替class,因为在此上下文中它们在语义上等效。
如下为两者的简单示例:
enum Test
{
test1,
test2
};
int a = test1;//类型隐式转换,枚举常量无须限定
if (test1 == 0)
cout << "Hello world.";
enum class ErrorCode
{
ERROR_ONE,
ERROR_TWO,
ERROR_THREE
};
int num = static_cast<int>(ErrorCode::ERROR_ONE);//类型需要显示转换,而且枚举常量必须限定或
ErrorCode num = ErrorCode::ERROR_ONE;
- enum和enum class的使用
- C++11的enum class & enum struct和enum
- C - enum和typedef enum的使用
- enum class type 和enum type 的区别
- C++ 枚举声明 enum 和 enum class
- C++11中enum class的使用
- Enum和EnumSet的使用
- union和enum的使用
- enum的使用和遐想
- enum 与enum class
- enum与typedf enum的使用和区别
- Enum Class
- union和enum使用
- Enum类和enum关键字的区别
- enum和typedef enum的区别
- JAVA enum 和 Enum 的区别
- typedef enum和enum的用法
- enum类型变量的使用和赋值
- Android好文章记载
- CSS 定位中的 absoult 最难理解的 position 图文
- const的使用
- windows server 英文版显示中文乱码解决方案
- 企业级应用vs企业级开发
- enum和enum class的使用
- Android Studio 常用快捷键
- 博客嵌入音乐播放器
- 状态栏换颜色
- CAD编辑指南4:新建空白图纸以及添加文字标注
- 浅谈MVC、MVP、MVVM的区别
- JS计算当前日期+6个月后的日期
- C++中.和->的区别
- Jenkins和Hudson的恩怨