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

C++之枚举与宏定义

1 枚举enum

C++的枚举类型可以用来表示一组有限且固定的值。比如在如下代码中:

enum Color { RED, GREEN, BLUE };

定义了Color的枚举类型,分别对应三种不同的颜色。C++编译器会为枚举类型的常量分配整数值,从0开始递增。因此,在这个例子中,RED将被分配值为0,GREEN将被分配值为1,BLUE将被分配值为2。当然也可以通过指定数值进行赋值:

enum Color { RED = 1, GREEN = 2, BLUE = 3 };

2 宏定义#define

在C++中,宏定义可以用来在编译时进行文本替换和处理。

  • 宏定义:宏定义是C++预处理器的一个功能,它可以在编译时进行文本替换。宏定义的基本语法可以分宏定义变量和宏定义函数。
//宏定义变量
#define 宏名称 替换文本



//宏定义函数
#define ADD(a, b) (a + b)

注意:对于定义的函数可能会存在混合类型运算的情况,比如a是int类型而b是float类型会引发错误。

当你使用这个宏时,比如 ADD(5, 3),预处理器会将其替换为 (5 + 3),即8。

但是,如果你给这个宏传递不同类型的参数,比如 ADD(5, 3.0),这会引起一个编译错误。这是因为预处理器在宏展开时不会进行任何类型检查或转换。在这种情况下,编译器会报出一个混合类型运算的错误,因为 5 是整数,而 3.0 是浮点数。


http://www.kler.cn/a/158917.html

相关文章:

  • 第六节、Docker 方式部署指南 github 上项目 mkdocs-material
  • OMV7 树莓派 tf卡安装
  • RabbitMQ的工作队列在Spring Boot中实现(详解常⽤的⼯作模式)
  • 【springboot】启动原理
  • 螺旋矩阵II(leetcode 59)
  • 类与对象;
  • C++智能指针及简单实现
  • 力扣第374场周赛题解
  • Linux配置SFTP用户的详细过程
  • selenium原理
  • 什么是vue的计算属性
  • GSLB是什么?谈谈对该技术的一点理解
  • 使用Redis实现购物车后端处理
  • vmware ubuntu22 安装vmtools并设置共享文件夹
  • acwing算法提高之动态规划--最长上升子序列模型(下)
  • java项目日常运维需要的文档资料
  • mysql常见配置文件参数
  • 轨道交通数字孪生可视化平台,助力城市交通运营智慧化
  • 超完整的mysql安装配置方法(包含idea和navicat连接mysql,并实现建表)
  • 列表插槽使用
  • 我的计算机之旅:为何选择这个领域?
  • 电力校准平台
  • 高性能网络编程 - 白话TCP 三次握手过程
  • 8.HTTP工作原理
  • 你知道小红书小眼睛的推送机制吗?
  • 6页手写笔记总结信号与系统常考知识大题知识点