常量是编程中一种重要的语法结构,C++使用const来定义常量。
一、const修饰符
使用const可以定义常量,一旦定义就不能修改:
const double PI = 3.14;
PI = 3; // 错误,不能修改
二、指针常量
const可以修饰指针,使指针不能修改指向地址:
int n = 1;
const int* p = &n; // 指针常量
*p = 2; // 错误,*p不能修改
三、常量指针
const也可以修饰指针指向的值,使不能修改值:
int n = 1;
int* const p = &n; // 指向常量
*p = 2; // 正确
p = &m; // 错误,p不能修改
四、字符串字面量
字符串字面量是const char数组,不能修改:
"hello" // 字符串常量
五、constexpr常量表达式
constexpr可以定义复杂常量表达式:
constexpr int size = 10;
constexpr int arr[size] = {1, 2, 3};
六、#define宏定义
define也可以定义简单宏常量:
#define PI 3.14
理解常量的使用可以避免代码中无意的修改。