const是常量的意思,用来修饰变量让其不可修改。
如果const运用时存在指针,则其所指向内容的值不可改,如果指针指向的是类或者结构体,则其成员变量也不可修改。
一句话核心记忆点: const 后面修饰什么,什么就不可变
如下面例子:
int age = 10;
//const 修饰的是int,因此指针所指向int不可修改,但指针可修改。
const int *p1 = &age; // *p1=20 错误, p1=pn 正确
int const *p2 = &age; // 等价于上面 const int 和 int const 不区分先后
//const 修饰的是指针,即指针所指向的int可修改,但指针不可修改。
int * const p3 = &age; //*p3=20 正确,p3=pn 错误
//const 分别修饰了int 和指针,即指针所指向的int不可修改,指针也不可修改。
const int * const p4 = &age //*p4=20 错误,p4=pn错误