C++11强枚举类型

【C++11保姆级教程】强类型枚举(强类型枚举)和constexpr C++语言在不断地发展和演进,每个新的标准版本都会引入一些新的语言特性和改进。C++11是一个重要的里程碑,它为编程带来了许多有用且强大的特性。本篇教程将着重介绍C++11引入的两个特性:强类型枚举和constexpr。C++11引入了强类型枚举和constexpr两个特性,它们在提升代码可读性、类型安全性和编程灵活性方面发挥了重要的作用。强类型枚举通过名称限定和类型检查,避免了隐式转换和混淆,使枚举更易于使用和理解。 阅读详情

下面主要代码
强枚举类型就是给我们的枚举类型限制相关的类型。

#include <iostream>


using namespace std;

//这里我们可以给enum限定类型
//这里表示我们只能使用char类型
enum color:char{red='A',yellow,green,white};


enum SS{SS1=0,SS2='A',SS3='C'};
int main()
{
    color col = yellow;
    cout << "Hello World!" << endl;
    cout << "current color is "<<col<<endl;
    cout << "current color is "<<(char)col<<endl;
    SS s = SS1;

    cout << "current ss is "<<SS1<<endl;
    s = SS2;
    cout << "current ss is "<<SS2<<endl;
    return 0;
}

运行结果
这里写图片描述

C++11之强枚举类型 目录 1. 枚举定义回顾 2. c++98中枚举存在缺陷 缺陷(1) 缺陷(2) 3. c++11强enum类型 3.1 强类型的枚举优点 4 . c++11对enum类型进行了扩展 5 . c++11中匿名的强类型枚举 1. 枚举定义回顾 枚举类型是c/c++中的一个基本内置类型,从枚举的本意来说:就是定义一个类别,并且穷举同一类别下的个体以供代码中去使用... 阅读详情

相关推荐

大模型-高通qnn基础

提供较低级别、高度可定制的统一API,通过单独的库加速所有AI加速器核心上的AI模型, 可以直接用于针对特定的加速器核心或从流行的运行时(包括Qualcomm Neural Processing SDK、TensorFlow Lite和ONNX运行时)委派工作负载。一个支持异构计算、系统级配置的一体化SDK,旨在将AI工作负载引导到我们平台上的所有加速器核心。为开发人员提供灵活性,包括核心间协作支持和其他高级功能。是一个为训练好的神经网络模型提供高级量化和压缩技术的库。

点滴的岁月 4096

C++11强类型枚举,override/final

C++11(一)开篇 这个系列主要介绍C++11的一些新的特性,C++11问世至今已经有将近十年了。但是许多公司仍然停留在C++98上。之前在部门分享过C++11的知识,在这里分享给有需要的人。 C++是一门伟大的语言,永远给程序员最大的设计自由, 未使用的特性从不产生副作用,新版本永远完全兼容旧版本。C++11先前被称作C++0x,即ISO/IEC 14882:2011,是C++编程语言的一个标准。 之前的C++标准包括C++98、C++03。虽然此后的[C++14]才是C++的现行标准,但C++1

yizhiniu_xuyw的专栏 650

使用 Vosk 实现语音识别

在近两年里,如果说想要在本地部署离线语音识别模型,那么和肯定是首选项。所以为什么要使用呢?

weixin_48967543的博客 9719

C++两种枚举类型-限定作用域的枚举类型 和 不限定作用域的枚举型别

C++包含两种枚举类型: 限定作用域的枚举类型 不限定作用域的枚举型别 带限定作用域的枚举型别通过enum class声明,不限定作用域的枚举型别通过enum声明. 1、不限定作用域的枚举型别可能导致枚举量泄漏到所在的作用域空间 namespace TestSpace { enum Color { red = 0, green, blue, }; auto red = true; // 错误 }; // namespace TestSpace 在同一个作用域中,定义了不限定作用域的枚

qq_26189301的博客 4220

别再为数据发愁:5分钟理解事件相机原理,并自己动手生成事件图像

本文深入浅出地解析了事件相机的工作原理,并提供了从静态图像生成事件数据的实用方法。通过Python代码示例,读者可以快速掌握如何模拟事件相机的输出,应用于机器人导航、自动驾驶等领域,解决数据获取难题。

weixin_31458015的博客 300

2024最新版Anaconda Navigator安装使用指南

本文简要介绍如何下载安装Anaconda Navigator最新版,以及如何使用Python内核搭载来完成应用程序开发。

jackson_lingua的博客 1万+

C++11强类型枚举——枚举类

C++11强类型枚举——枚举类

《致青春》——云梦泽 2万+

一文带你弄懂thermal governor IPA

当current temp < target temp时,使用k_pu,当current temp >= target temp时,使用k_po。如果current_temperature = switch_on_temp时,则k_p = k_pu,这时Pmax。如果current_temperature = target_temp时,则k_p = k_po,这时Pmax。2、解析dts,获得switch_on_temp和target_temp。3、初始化k_pu/k_po/k_i/k_d的常数。

yxw0609131056的博客 1245

c++ 强类型枚举

作者: 苏丙榅链接: https://subingwen.cn/cpp/enum/

@bangbang的博客 1063

通信原理期末考试试题及答案

五、(总分12分)设某信道具有均匀的的双边噪声功率谱密度在该信道中传输抑制载波的单边带(上边带)信号,并设调制信号m(t)的频带限制在5K HZ,而载波为100 K HZ,已调信号的功率为10KW。:(1)单边带信号的载频为100kHz,带宽B=5kHz,为使信号顺利通过,理想带通滤波器的中心频率为。8、对最高频率为fH的调制信号m(t)分别进行AM、DSB、SSB调制,相应已调信号的带宽分别为。7、设调制信号为f(t)载波为,则抑制载波双边带调幅信号的时域表达式为,频域表达式为。

qq_67692062的博客 2394

Jenkins+docker 微服务实现自动化部署安装和部署过程

本文详细介绍了如何使用Docker部署Jenkins自动化服务器。主要内容包括:1)拉取Jenkins官方或BlueOcean镜像;2)创建容器并配置端口映射、数据卷挂载;3)设置防火墙规则;4)配置清华大学镜像加速;5)安装必要插件;6)SSH密钥配置;7)构建触发器设置;8)编写自动化构建脚本。通过Docker部署Jenkins可以简化安装流程,确保环境一致性,并利用容器特性实现快速启动和管理。文章提供了完整的配置步骤和注意事项,帮助用户快速搭建CI/CD环境。

qq_33665793的博客 1690

C++11 强枚举类型

枚举就是定义一个类别,并且穷举统一类别下的个体以供代码使用。 C++98 枚举存在的缺陷: 无论是具名枚举的名字还是枚举类型中的成员,都是全局范围的,其作用域是全局的。 如果在不同的枚举中定义了相同的枚举成员,则会出现**重复声明(redeclaration)**错误。 enum PUBLIC_COLOR { RED, YELLOW, GREEN }; enum PRIVATE_COLOR { RED, BLACK, PURPLE }; // RED 重定义 enum PUBLIC_COLOR

mwl_learning的博客 386

2024年中科大分子生物研究生考试建议

分子生物学复习资料及往年考题。

qq_43337249的博客 2956

C++11特性:enum class(强枚举类型)详解

C++11引入的enum class(强枚举类型)解决了传统枚举的多个问题:1) 防止枚举值泄漏到外部作用域;2) 禁止不同枚举间的隐式转换;3) 允许指定底层数据类型优化内存;4) 避免命名空间污染。其基本语法为enum class Name{...},使用时需通过Name::value访问。通过指定底层类型(如uint8_t)可实现内存优化、跨平台兼容等需求。常见应用场景包括状态机实现(如网络连接状态)和配置选项(如日志级别)。相比传统枚举,enum class提供了更好的类型安全性和代码组织能力。

聚焦C++/Python编程语言、大模型应用开发 1746

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

C语言枚举和C++枚举的区别?enum class(C++11强类型枚举(Strongly-typed enums)强枚举 Scoped Enumerations)(C++98弱枚举类型)

C 枚举类型支持不同类型枚举值之间赋值、以及数字赋值、比较,并且具有外层作用域。C++ 中枚举不允许不同类型的值给枚举类型变量赋值,但仍然支持不同类型之间枚举进行比较,枚举符号常量具有外层作用域。C++ 强枚举类型不允许不同类型之间的赋值、比较,枚举常量值并不具有外层作用域。

Dontla的博客 2244

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

C++11:强枚举类型enum

转自https://blog.youkuaiyun.com/caychen/article/details/79681806。感谢博主辛苦整理,侵删。 #include <iostream> namespace T //命名空间T { enum Color{ Black, Gray, Green }; } namespace S { enum Size{ Small =...

又帅又酷的红头发10号 373

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

卷积的三大运算律,在图像滤波和CNN里到底怎么用?一个例子讲明白

本文深入解析卷积的三大运算律(交换律、结合律、分配律)在图像滤波和CNN中的实际应用。通过OpenCV和PyTorch代码示例,展示如何利用这些数学性质优化图像处理流程、简化CNN结构设计,显著提升计算效率和模型性能。

weixin_33735077的博客 370

C++ 语言特性13 - 强枚举类型

枚举值可以隐式转换为整数,也可以从整数隐式转换为枚举类型,这可能导致类型安全问题。枚举类成员不能隐式转换为整数或其他类型,必须使用显式类型转换。:C语言中的枚举成员是公开的,这意味着它们在枚举类型定义的作用域内是可见的,并且可以不加区分地访问。:强枚举的成员被限定在枚举类型的作用域内,必须使用枚举类型名称和作用域解析运算符(:枚举类型可以与整数进行赋值和比较操作,枚举值之间也可以直接比较。:枚举值可以隐式转换为整数,整数也可以隐式转换为枚举类型。:强枚举类型与整数之间的转换需要显式进行,不能隐式转换。

GPU全栈博主 959

C++ 强枚举类型

为了解决c/c++中的enum类型的一系列缺点,比如:非强类型,允许隐式转换为int型,占用存储空间及符号性不确定。c++11引入了枚举类(又称为:强枚举类型strong-typed enum) 语法格式: enum class 类型名 {枚举值表}; 如:enum class People{yellow,black,white}; //这样就成功的定义了一个强类型的枚举People。 注意...

arno的博客 1598

C++11 强枚举类型(enum class)

可以显示指定其底层存储类型,默认为int。(为其他的比如char的话 有什么作用和意义我不太清楚),通常默认为int。这可能导致不同编译器和平台之间的兼容性问题,因为int的大小可能会有所不同。C++11 推出的 强类型枚举(enum class)可以隐式转换为整数。不同枚举类型的值混淆。给每个枚举添加命名空间可以解决,但属实非常麻烦。没有底层类型: 传统的C风格枚举没有。的主要优势在于提供了更好的。,这可能导致潜在的命名冲突。

记录值得记录的东西 1240

C++11 扩展 - 强枚举类型,静态断言,tuple

摘要:C++11引入的强类型枚举(enum class)解决了传统枚举的隐式转换、作用域污染和底层类型限制问题。static_assert提供了编译时断言机制,增强代码健壮性。std::tuple作为异构值集合,通过变参模板和递归继承实现,支持索引访问和解包。与Python元组相比,C++的tuple具有静态类型、可修改元素等特点,其底层实现依赖变参模板、递归结构和索引序列,所有操作均在编译期完成,保证运行效率。这些特性共同提升了C++的类型安全性和元编程能力。

Small_entreprene的博客 1024

C++11特性(9):强枚举类型enum

#include &lt;iostream&gt; namespace T //命名空间T { enum Color{ Black, Gray, Green }; } namespace S { enum Size{ Small = 1, Middle, Large }; } namespace //匿名命名空间(全局) { enum Color{Black,Bl...

caychen的博客 1424

Cocos2d-x3.1中C++11强枚举类型

转载自:http://blog.youkuaiyun.com/star530/article/details/24273309 在cocos2dx 3.0的文档里有这么一句话: 以 k 开头的常量和枚举量,通常被定义为 int 或者简单的 enum 类型,现在已经被强类型枚举(enum class)所替代,这样有利于避免ChongTu和类型错误。 新的格式是: | v2.1       | v3.0

yuxikuo_1的专栏 1467

C++强枚举类型

在 C++ 中,“强枚举”(Strong Enum)通常指使用 enum class 定义的枚举类型(C++11 引入)。相比传统枚举(enum),它具有更严格的类型安全和作用域控制。Value2,// ...enum class:关键语法,声明强枚举EnumName:枚举类型名称UnderlyingType(可选):底层整数类型(如 int, unsigned char 等),默认是 intValueX:枚举值,可显式赋值或自动递增。

肩上风骋的博客 579
上一篇: 字符串的输出
TestMin
博客等级 码龄11年 0粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值