C/C++ const

const修饰指针

1 const int * p 读作:p 指向不变量int

int a = 2;
const int * p = &a; // constant 必须初始化,否则报错
*p = 3; // 非法
int b = 3;
p = &b; // 合法

2 int * const p 读作:不变量p 指向int

int a = 2;
int * const p = &a; // constant 必须初始化,否则报错
*p = 3; // 合法
int b = 3;
p = &b; // 非法

3 const int * const p 读作:不变量p 指向不变量int

int a = 2;
const int * const p = &a; // constant 必须初始化,否则报错
*p = 3; // 非法
int b = 3;
p = &b; // 非法

4 总结

const修饰谁(const 修饰 它后面的值),谁就不能变。

原文地址:https://www.cnblogs.com/uhanhi/p/13022541.html