一、左值:写数据,放在赋值符号的左边。
右值:读数据,放在赋值符号的右边。
int a = 10;
int b = a;//a为读数据是右值
a = 20;//a为写数据是左值
二、const:把变量变为只读(只限定左值)
const c = 10;
a = c;
c = 20;//错误
const int c // 错误,没有定义为随机值而且不能改,无意义
1、基本类型对于const是透明的,const放在左边右边是一样的
int const c = 10;//等同于c
2、const只能限定修饰的直接右边
int a = 10;
int b =20;
const int *p=&a;
p = &a;// 正确
p1 = 100;//错误 const限定直接右边是p不可改值
3、权限可以同等或者缩小传递,但不能放大
int a = 10;
const int ca=10;
int *p1=& a;
int *p2=& ca;// 错误,不能写只能读数据
const int *p3=& a;
const int *p4=& ca;
int *const p5=& a;
int *const p6=& ca;//错误
左右值以及const的规则
最新推荐文章于 2024-01-14 19:28:23 发布