菜鸟笔记
提升您的技术认知

C++中定义常量的几种方式

概述

在程序运行过程中,始终不发生改变的量,称之为常量。在 C++ 语言中常量是个固定值,也就是说常量值在定义后不能进行修改。

#define

①.宏常量
#define 是 C 语言中定义常量的方式,在 C++ 中也可以使用。
②.#define 的使用

#define MAX = 200

③.宏常量的特点
define 在预处理阶段起作用;宏常量没有数据类型,只是进行文本替换替换;宏常量在内存中会产生多份相同的备份。
若仅用于定义常量,在 C++ 中不推荐使用。

const

①.const 限定符
const 是 C++ 中的变量修饰符,表示该变量是只读的,不可改变的,const 是变量类型的一部分。
②.const 的使用

const int max = 20;

③.const 变量的特点
const 在编译、运行阶段起作用;const 常量有数据类型,编译器可以进行类型安全检查;const 常量在程序运行过程中只有一份备份。

enum

①.enum 枚举类
enum 是 C++ 中一种派生数据类型,它是由用户定义的若干枚举常量的集合。
②.enum 的使用

enum class color{
   red,green,blue };

③.enum 类型的特点
enum 在编译时被全部求值;enum 常量隐含数据类型是整数,其最大值有限,且不能表示浮点类型 ;枚举常量不会占用对象的存储空间。

constexpr

①.constexpr 常量表达式
C++ 中使用 constexpr 表示常量表达式,是指值不会改变并且在编译过程就能得到计算结果的表达式,constexpr 是声明的一部分,而不是变量类型的一部分。
②.constexpr 的使用

constexpr int max = 35;

③.constexpr 的特点
constexpr 的变量的值必须是编译器在编译的时候就可以确定的。