1.修饰变量
当const修饰变量时,表示这个变量的值不能被修改,即该变量变为常量。
const int a = 10;
int const b = 20;
//以上两种形式都是等价的,即a,b均为常量
2.修饰指针
- 修饰指针本身,即不能改变指针的指向
int* const p1 = &a;
//p1始终指向a,不能改变指针的指向,但是可以改变a的内容
- 修饰指针指向的内容
const int* p1;
int const* p2;
//以上两种情况等价,即可以修改指针的指向,不能修改指针指向的内容
3.修饰成员函数
在类的成员函数声明后加上const
关键字,表示这个成员函数不会修改类的任何成员变量(除了那些被声明为mutable
的成员变量)。
class MyClass {
public:
int getValue() const { // 常量成员函数
return value; // 可以读取value,但不能修改它
}
private:
int value;
};