C++ 枚举(enum)
2023-12-24 12:36:46
一、枚举定义
- 在C++中,枚举(Enum)是一种用户定义的数据类型,用于定义命名的整数常量集合。枚举通过列出所有可能的值来创建一个新的数据类型,并为每个值分配一个整数值
#include <iostream>
// 定义一个枚举类型
enum Day {
Sunday,// 默认为0
Monday,
Tuesday,
Wednesday,
Thursday,
Friday = 6,// 赋值为6
Saturday// 默认为6 + 1 = 7
};
int main() {
Day today = Wednesday;
std::cout << today << std::endl; // 隐式转化为对应值(输出:3)
// 使用枚举变量
if (today == Wednesday) {
std::cout << "It's Wednesday!" << std::endl;
}
return 0;
}
二、枚举类型以及对应性质
2.1 enum 枚举
enum Buffers {
Color,
Depth
};
Buffers bufferType = Color;
Buffers bufferType = Buffers(0);
int value = bufferType; //支持隐式转换
cout << bufferType; //隐式类型转换,输出对应的值(Color = 0, Depth = 1)
2.2 enum class枚举
enum class Buffers {
Color,
Depth
};
//作用域限定
Buffers bufferType = Buffers::Color; // 正确
Buffers bufferType = Color; // 错误
Buffers bufferType = Buffers(0); // 正确
int value = bufferType; //错误,不支持隐式转换
//需要显式地将其转换为整数或者其他类型
Buffers bufferType = Buffers::Color;
cast_static<int> bufferTupe;//强制类型转换
cout << bufferType; //不支持隐式类型转换,报错
cout << static_cast<int>(bufferType);// 显式类型转换
文章来源:https://blog.csdn.net/qq_39876147/article/details/135180009
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!