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

C++11介绍之enum类型

enum与之前的不同主要两点:

1.可以指定枚举成员的类型,通过在enum后加冒号再加数据类型来指明数据类型(: type),例:

enum separator: char {Comma = ',', Exclamation = '!', Question = '?'};

2.enum class定义的枚举类型称为限定作用域枚举,如果不指定作用域就不能使用它们的枚举类型,且转换为其它类型时需要做显式的强制转换。而enum定义的是枚举类型(旧枚举类型)为无作用域枚举,枚举类型不需要指定作用域且不需要进行显式强制转换。

测试代码如下:

#include <iostream> enum class Person {man, woman, boy, girl}; enum Pet: char {dog , cat, frog}; enum Fish: char {shark = 's', goldfish = 'g'}; int main() { std::cout << "sizeof Person is " << sizeof(Person) << std::endl; std::cout << "sizeof Pet is " << sizeof(Pet) << std::endl; Person person1{Person::boy}; // enum class枚举类型必须加作用域Person,着这在前面加上 using enum Person 或者 using Person::boy。 std::cout << (int)person1 << std::endl; // 必须做显式的强制转换 std::cout << sizeof(person1) << std::endl; Pet pet1{Pet::frog}; std::cout << "**********pet1************ " << std::endl; std::cout << (int)pet1 << std::endl;//默认是char。 std::cout << (char)pet1 << std::endl; std::cout << sizeof(pet1) << std::endl; std::cout << "**********fish1************ " << std::endl; Fish fish1{Fish::goldfish}; std::cout << fish1 << std::endl; std::cout << (char)fish1 << std::endl; std::cout << sizeof(fish1) << std::endl; return 0; }

执行结果如下:

sizeof Person is 4 sizeof Pet is 1 2 4 **********pet1************ 2 1 **********fish1************ g g 1
http://www.jsqmd.com/news/1347522/

相关文章:

  • 终极消息防撤回指南:3分钟掌握微信QQ消息永久留存技巧
  • Scalastyle高级技巧:如何编写自定义代码检查器提升团队效率
  • 2026 年压球机厂家推荐观察与测评:煤粉与污泥压球的 4 个踩坑实录 - 新闻快传
  • 保障神经数据隐私与认知主权安全:硬件否决与黑匣子加密双重硬约束的技术治理体系
  • Bilidown终极指南:如何高效下载B站8K超高清视频
  • 2026年沈阳普拉提教练培训机构挑选攻略:威思丽等机构实测梳理 - 自由和远方
  • 甲、乙方必争的“措施费”,你真的清楚吗?
  • 嵌入式软件开发——内存管理原理与应用
  • Stable Diffusion中Seed参数详解:从原理到实战应用
  • 如何高效下载M3U8视频:5个实用技巧与完整解决方案
  • 终极指南:如何快速掌握Arduino ESP32物联网开发
  • 3分钟搞定Arduino ESP32开发:物联网与嵌入式系统终极入门指南
  • 雷达基本方程:从原理到工程实践,掌握雷达探测性能的量化核心
  • 第一份工作的起点,会怎样影响之后的职业选择?
  • 甘肃电源储能系统研发哪家好?从技术方案、应用场景、成本测算到西北极端环境适配,看懂真实交付边界 - 中国华商产业观察网
  • 播客听完了跟没听一样?通义听悟、Ai好记、BiBiGPT、百度网盘AI四款播客转笔记工具横评
  • CC Switch深度链接:AI配置一键导入的终极指南
  • JAYA算法优化随机森林回归:突破传统调参瓶颈的智能参数搜索方案
  • STFU vs 传统噪音解决方案:为什么这款网页工具更高效、更便捷?
  • Obsidian终极美化指南:20个CSS片段打造个性化知识管理界面
  • 告别游戏限制:用Wand-Enhancer解锁完整游戏修改体验
  • Minecraft服务器管理革命:EssentialsX插件3大核心优势与5步实战指南
  • 2026浙江装修设计施工一站式盘点:严选家装施工装修公司及全案设计工程公司优选麦丰装饰 - 栗子测评
  • 没拿到目标Offer,一次求职服务还有价值吗?
  • OpenClaw本地部署实战:从环境搭建到IDE集成,打造私有AI编程助手
  • 甲方、乙方都关注!施工索赔中的几点技巧
  • 3个秘诀让你快速掌握Arduino ESP32物联网开发:从零开始的完整指南
  • Gyroflow视频稳定终极指南:如何利用陀螺仪数据实现专业级防抖效果
  • 为什么评价蒸汽求职,不能脱离申请年份?
  • ComfyUI 从零部署指南:节点工作流驱动 AI 视频与漫剧生成