当前位置: 首页 > news >正文

27、枚举类型的深入解析与应用

枚举类型的深入解析与应用

1. 设置底层类型和显式值

在定义枚举时,你可以使用除int之外的整数类型。方法是在枚举名称后面加上冒号和类型名称,不过该类型不能是char。枚举的所有成员常量都属于其底层类型,成员常量的值可以是底层类型的任意值。若要显式设置成员的值,可在枚举声明中成员名称后使用初始化器。成员名称不能重复,但值可以重复,示例代码如下:

enum TrafficLight : ulong { ... } enum TrafficLight { Green = 10, Yellow = 15, // 重复值 Red = 15 // 重复值 }

上述代码展示了两种等价的TrafficLight枚举声明方式,左边代码采用默认类型和编号,右边代码显式将底层类型设置为int,并为成员赋予对应默认值。

2. 隐式成员编号

你可以为枚举的成员常量显式赋值。若未对成员常量进行初始化,编译器会隐式为其赋值。编译器的赋值规则如下:
- 若成员是枚举的第一个成员且未显式赋值,则其值为 0。
- 若成员未显式赋值且不是第一个成员,则其值为前一个成员的值加 1。

以下是两个枚举声明的示例:

enum CardSuit { Hearts, // 0 - 因为是第一个成
http://www.rkmt.cn/news/146667.html

相关文章:

  • LOOT模组排序工具终极指南:彻底解决天际冲突问题
  • 昆明珠宝回收推荐综合评星排名:黄金/翡翠/钻石全品类权威指南(2025年12月) - 提酒换清欢
  • 手把手教你部署Open-AutoGLM:快速搭建本地AutoGLM推理系统的7步法
  • GPT-SoVITS语音动态适应环境噪声的能力
  • Potrace 矢量转换工具:从像素到路径的完美蜕变指南
  • RTL8821CU无线网卡Linux驱动终极安装指南:新手也能轻松搞定
  • 终极电路图绘制方案:三步打造专业级电子设计工作流
  • 50、C编程中的关键概念与技术
  • WPF动态加载动画
  • 5大理由告诉你为什么OpenAPI可视化工具是API开发必备神器
  • 3步精通Draw.io ECE:电子工程绘图从零到专业
  • macOS平台Windows应用兼容性深度优化指南
  • 终极FF14插件开发指南:用Dalamud打造个性化游戏体验
  • Gitee:中国本土项目管理工具的崛起与创新
  • 语音克隆用户授权机制设计:基于GPT-SoVITS
  • 2025诚信的个人出书出版企业TOP5推荐:实力强的个人出书公司甄选指南 - 工业品牌热点
  • 百度LAC中文分词工具完整使用教程:从入门到精通
  • LLM 扩展方式的三年演进之路:复杂之后,回归简单
  • Screenbox播放器:Windows平台终极免费多媒体解决方案
  • Open-AutoGLM赋能桌面自动化(AI识屏新纪元)
  • 手部关键点检测技术升级完整实战:从性能瓶颈到最优配置
  • GPT-SoVITS在智能客服中的落地应用场景
  • OpenModScan终极指南:免费开源的Modbus调试工具完全使用手册
  • 美国签证智能预约助手:告别手动刷新的自动化解决方案
  • 15、C编程基础:输出、注释、类型与类的全面解析
  • 智能语音分析新时代:多说话人识别技术的突破性进展
  • B站API风控实战:如何应对用户视频列表获取难题
  • AI Agent开发路线图2025:从入门到精通,一文读懂智能体技术
  • GL-iNet路由器iStoreOS风格化终极指南:一键打造专业级管理界面
  • PokeMMO终极指南:快速构建多人在线Pokemon游戏世界