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

【C++ 重要知识点总结】自定义类型-枚举和联合

复杂类型

除了类之外还有Union、Enum连个特殊的类型。

Union

概念

union即为联合,它是一种特殊的类。通过关键字union进行定义,一个union可以有多个数据成员。

union Token{char cval;int ival;double dval;
};

用法

  1. 互斥赋值。在任意时刻,联合中只能有一个数据成员可以有值。当给联合中某个成员赋值之后,该联合中的其它成员就变成未定义状态了。

Token token;token.cval = 'a';token.ival = 1;token.dval = 2.5;
  1. 访问权限。联合可以为其成员指定public、protected和private等访问权限,默认情况下,其成员的访问权限为public。
  2. 为成员指定长度。联合的存储空间至少能够容纳其最大的数据成员。也可以为联合的成员指定长度。通过冒号操作符来实现成员长度的指定。
union U {unsigned short int aa;struct {unsigned int bb : 7;//(bit 0-6)unsigned int cc : 6;//(bit 7-12)unsigned int dd : 3;//(bit 13-15) };
} u;

Enum

定义

  • 枚举类型的定义:枚举类型(enumeration)是 C++ 中的一种派生数据类型,它是由用户定义的若干枚举常量的集合。枚举类型的定义格式为:
  • 关键字enum——指明其后的标识符是一个枚举类型的名字。
  • 枚举常量表——由枚举常量构成。“枚举常量"或称"枚举成员”,是以标识符形式表示的整型量,表示枚举类型的取值。枚举常量表列出枚举类型的所有取值,各枚举常量之间以","间隔,且必须各不相同。取值类型与条件表达式相同。
enum <类型名> {<枚举常量表>};

用法

  • 用来声明一个两所有可能的取值。使用标识符表示其种类。

应用举例

enum color_set1 {RED, BLUE, WHITE, BLACK}; // 定义枚举类型color_set1
enum week {Sun, Mon, Tue, Wed, Thu, Fri, Sat}; // 定义枚举类型week
http://www.lryc.cn/news/96322.html

相关文章:

  • Centos MySql安装,手动安装保姆级教程
  • 电脑C盘空间大小调整 --- 扩容(扩大/缩小)--磁盘分区大小调整/移动
  • centos7设置网桥网卡
  • TCP模型和工作沟通方式
  • Langchain 的 ConversationSummaryBufferMemory
  • 【Rust 基础篇】Rust 通道实现单个消费者多个生产者模式
  • HTTP协议各版本介绍
  • 玩转ChatGPT:Custom instructions (vol. 1)
  • 黄东旭:The Future of Database,掀开 TiDB Serverless 的引擎盖
  • Linux环境搭建(XShell+云服务器)
  • -bash: /bin/rm: Argument list too long
  • 5个步骤完成Linux 搭建Jdk1.8环境
  • 【JAVASE】运算符
  • Emacs之改造搜索文件fd-dired(基于fd命令)(一百二十一)
  • 字典序排数(力扣)思维 JAVA
  • NLP 中的pad/padding操作代码分析
  • JavaWeb 速通HTTP
  • Vue 本地应用 图片切换 v-show v-bind实践
  • AI生成-- autocomplete 模糊搜索
  • 怎么用手机做文字二维码?文本内容在线生成二维码技巧
  • 【Ap模块EM】08-怎么让Execution Management成为第一个执行的进程?
  • 使用vscode+platformio搭建arduino开发环境
  • java后端接口实现302跳转
  • 分布式理论:CAP理论 BASE理论
  • Tensorflow学习
  • 5-Ngnix配置基于用户访问控制和IP的虚拟主机
  • springboot jar分离部署
  • Opencv 细节补充
  • 内存泄漏专题(7)hook之宏定义
  • Python 基础(十八):异常处理