const
一、说明
const:定义常变量,不能写,只读。
1.数据类型对于const而言是透明的;
2.const用于封锁直接修饰的内容,将该内容变为只读;
3.权限只能同等或者缩小传递;
二、实例说明
int main()
{
int a=10;//读写
int b=20;//读写
const int ca=10;//ca只读
int const cb=10;//只读;数据类型对于const是透明的,所以这里cb等价ca;
int *p=&a;//读写
p=&ca;//error,这样的情况下通过p可以改变ca的值(如解引用),而ca前有const,所以ca是不能改变;
const int *cp1=&a;//const直接修饰*cp1,*cp1变为只读;
cp1=&b;//const只对*cp1进行封锁,而cp1依然是可读可写;
const int *cp3=&ca;//const对*cp3封锁,*cp3是只读,也就无法改变ca的值,符合const用法;
int *const cp3=&ca;//error const只对cp3封锁,所以cp3是只读的状态;而通过*cp3就可以改变ca的值,不符合ca只读的语句。
}