您的位置:

用C++定义常量

一、使用 #define 预处理器

#define PI 3.14159265  // 定义一个常量 PI

使用 #define 预处理器可以非常方便地定义常量。在代码中,只需要在变量名前加上 #define,然后后面跟上常量的值即可。这种方法定义的常量不是 C++ 中的标准常量,而是预处理器常量,每次使用时都会被直接替换为其值。

当然,也可以定义一些带参数的宏常量,例如:

#define MAX(x, y) (((x) > (y)) ? (x) : (y))  // 定义一个带参数的宏常量

在代码中,可以使用这种常量进行简单的运算,例如:

int a = 5;
int b = 7;
int maxNum = MAX(a, b);  // 调用 MAX(x, y) 宏常量

二、使用 const 关键字

const int MAX_NUM = 100;  // 定义一个常量 MAX_NUM

使用 const 关键字定义常量是 C++ 中的标准方法。当定义了一个使用 const 关键字的常量后,就不能再修改它的值了。

使用 const 关键字定义的常量有以下特点:

  • 只能在定义时初始化,不能在运行时修改;
  • 在使用时不会被替换为其值;
  • 可以放在函数内、类内和全局作用域。

C++11 以后还可以使用 constexpr 关键字定义常量,例如:

constexpr int SQUARE(int x) { return x * x; }  // 定义一个常量函数 SQUARE(x)
const int num = SQUARE(5);  // 调用 SQUARE(x) 常量函数

三、使用枚举类型

enum Color {
  RED,
  GREEN,
  BLUE
};  // 定义一个枚举类型 Color

使用枚举类型可以定义一系列常量,这些常量的值是连续的整数,默认从 0 开始。例如,上面的定义会将 RED 的值设为 0,GREEN 的值设为 1,BLUE 的值设为 2。

当然,也可以指定枚举类型的初始值,例如:

enum Color {
  RED = 1,
  GREEN = 2,
  BLUE = 4
};  // 定义一个枚举类型 Color

在代码中,可以使用枚举类型来定义变量,例如:

Color color = RED;  // 定义一个颜色变量为 RED

以上就是 C++ 中定义常量的方法,根据需要选择合适的定义方式可以使程序更加清晰、易于维护。