const:限定写权限,变成只读(不能做左值)
左值:指放在“ = ”符号左边,其他情况均为右值;
左值:写权限 右值:读权限
例:
int main()
{
int a;
a = 10;
int b = a;
a++ = 15;//不能做左值,不能被修改
}
const的用法:
1、基本数据类型对于const透明;
比如:
int const p1 == const int p1
2、const修饰它的直接右边,它的直接右边不能做左值;
比如:
const int *p1 = &a;
p1 = &b;//right
*p1 = 1000;//error,因为const直接修饰的是*p1;所以*p1不能做左值
3、权限可以同等或者缩小传递,不能放大传递;
比如:
const int ca;
const int *p4 = &ca;
int *const p6 = &ca;//error
int *p3 = &ca;//error