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

网站建设简介淄博免费代码网站

网站建设简介淄博,免费代码网站,注册个人网站,疫情防控政策调整简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!

优质专栏:Audio工程师进阶系列原创干货持续更新中……】🚀

人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.

更多原创,欢迎关注:Android系统攻城狮

欢迎关注Android系统攻城狮

1.前言

本篇目的:理解C++之lambda匿名函数、typedef、using等用法

2.C++11的enum class与传统的enum关键字介绍

  • C++11引入的enum class关键字来定义枚举
  • 传统的enum关键字定义枚举
  1. 作用范围:enum class创建了一个作用域限定的枚举类型,而enum则创建了一个隐式的全局作用域枚举类型。这意味着使用enum class定义的枚举成员在枚举之外是不可见的,需要通过作用域解析运算符(::)来访问。

  2. 默认类型安全性:enum class提供了更严格的类型安全性,不允许隐式的整数转换。它们不能与整数类型进行直接比较或赋值操作,必须使用显式的类型转换。

  3. 枚举成员的作用域:在enum class中定义的枚举成员在枚举之外是不可见的,因此可以使用相同名称的枚举成员在不同的枚举中进行定义。

总结:enum class提供了更严格的类型安全性和作用域隔离的特性,能够避免命名冲突和隐式类型转换的问题。而传统的enum关键字则更为灵活,但类型安全性、作用域限定方面相对较弱。

3.代码实例

1.传统enum枚举例子

v1.0
#include <iostream>enum Color {RED,GREEN,BLUE
};int main() {Color c = GREEN;if(c == RED) {std::cout << "颜色是红色" << std::endl;} else if(c == GREEN) {std::cout << "颜色是绿色" << std::endl;} else if(c == BLUE) {std::cout << "颜色是蓝色" << std::endl;}return 0;
}
v2.0
#include <iostream>enum Descriptor : int32_t {Invalid = 0,NUM01 = 1
};int main(){//1.将enum class Descriptor枚举类型转换成int32_t类型Descriptor descriptor = Descriptor::NUM01;int32_t value = static_cast<int32_t>(descriptor);printf("value = %d\n",value);//2.将int32_t类型转换成enum class Descriptor枚举类型类型int number = 23;Descriptor desc1 = static_cast<Descriptor>(number);printf("number = %d\n",number);  
}

2.C++11引入enum class枚举例子

v1.0
#include <iostream>enum class Color {RED,GREEN,BLUE
};int main() {Color c = Color::GREEN;if(c == Color::RED) {std::cout << "颜色是红色" << std::endl;} else if(c == Color::GREEN) {std::cout << "颜色是绿色" << std::endl;} else if(c == Color::BLUE) {std::cout << "颜色是蓝色" << std::endl;}return 0;
}
v2.0
#include <iostream>enum class Descriptor : int32_t {Invalid = 0,NUM01 = 1
};int main(){//1.将enum class Descriptor枚举类型转换成int32_t类型Descriptor descriptor = Descriptor::NUM01;int32_t value = static_cast<int32_t>(descriptor);printf("value = %d\n",value);//2.将int32_t类型转换成enum class Descriptor枚举类型类型int number = 23;Descriptor desc1 = static_cast<Descriptor>(number);printf("number = %d\n",number);  
}
http://www.dinnco.com/news/66992.html

相关文章:

  • 交互效果好的移动端网站湘潭网站设计
  • 网站建设办公今日军事新闻最新消息新闻报道
  • 高并发网站建设媒介
  • php购物网站开发实例源码关键词列表
  • 凡科网站是什么做的想要推广网页正式版
  • 有哪些制作网站的公司网络推广方法有哪几种
  • 花网站开发背景网站推广的10种方法
  • 上海网站建设300网址大全网站
  • 大陆怎么做香港网站吗凌哥seo
  • 太原建网站百度怎么找人工客服
  • 网站建设流程所用工具百度推广销售员的工作内容
  • wdcp 快速迁移网站p2p万能搜索种子
  • 山东企业网站建设哪家好交换友情链接推广法
  • 网站页面制作视频新闻摘抄四年级下册
  • 办公室平面图设计布局seo推广效果
  • 花都建设网站电商运营数据六大指标
  • 网站开发项目经理招聘网络营销的基本方法有哪些
  • 国外网站国内做好还是国外做公司网址怎么注册
  • 为什么选择网站来做论文题目品牌的宣传及推广
  • 做网站需要网络服务器成都关键词快速排名
  • 怎么找网站开发公司杭州seo教程
  • 广安市建设局网站百度关键词的费用是多少
  • 公司网站管理维护广州seo优化推广
  • 网站建设扁平化个人免费开发网站
  • 丽水市城市建设投资有限责任公司网站直播代运营公司
  • 什么网站可以做免费广告域名注册服务网站
  • 注册公司名称用什么名字好重庆seo技术教程博客
  • 正定网站建设网络营销第三版课本
  • 美国做垂直电商的网站有哪些seo外链推广工具下载
  • 商务网站开发课程建言沈阳百度推广优化