const使用(四种使用方法)
一
const int x = 1;
x = 3;//这行会报错
//x为const常量,值不能改变
二
int b = 10;
int c = 12;
const int* a1 = &b;
a1 = &c;
*a1 = 23;//这行会报错
//const int* a1 可以理解为a1变量中存储的地址,所指向的内存空间为const不能改变,但a1变量所在的空间是自由的。
三
int b = 10;
int c = 12;
int* const a2 = &b;
*a2 = 23;
a2 = &c;//这行会报错
//int* const a2 可以理解为a2变量中存储的地址所指向的内存空间是自由的可以改变,但a2变量所在的空间是const的,不可以发生改变。
四
将二和三进行混合使用:
int b = 10;
int c = 12;
const int* const a3 = &b;
*a3 = 23;//这行报错
a3 = &c;//这行报错
//结合二和三不难理解为啥报错。