基本说明
const 关键字可以修饰变量、引用和指针。它的作用是使被修饰的对象在其生命周期内不可修改。以下是一些示例:
- 修饰变量 :
value 不能被修改,哪怕是重新定义引用绑定,也不可修改,而且只能允许const 引用绑定
const int value = 42; // value 不能被修改,哪怕是重新定义引用绑定,也不可修改,而且只能允许const 引用绑定
- 修饰引用:
ref 是一个常量引用,不能通过 ref 修改 value
const int& ref = value; // ref 是一个常量引用,不能通过 ref 修改 value
- 修饰指针
- 指向常量的指针:不能通过指针修改值
- 常量指针:不能修改常量指针指向的地址,指针只指向这个地址,不许指向其他地址
- 指向常量的常量指针:既不能修改指向的地址,也不能通过该指针修改值
const int* ptr = &value; // ptr 是一个指向常量的指针,不能通过 ptr 修改 value
int* const ptr2 = &value; // ptr2 是一个常量指针,不能修改 ptr2 指向的地址
const int* const ptr3 = &value; // ptr3 是一个指向常量的常量指针,既不能修改 ptr3 指向的地址,也不能通过 ptr3 修改 value