不得了的const

1.const定义常变量,不允许修改其他值。将变量变成只读,不能改写。

 eg:

int const ca=10;

ca=20;//error

ca=10;//error

int const cb;//error 局部变量默认随机值

2.基本的数据类型对const是透明的

eg;

int const ca=0;

const int cb=0;//ca和cb是等价的

const int cb=10;cb=20;//error;

3.const直接修饰他的右边,不能做左值

eg:

int *p=&a;

const int *cp=&a;

*cp=10;//error 不能做左值

cp=&b;//合法//直接右边

const int *const  p4=&a;//无法使用,其中第一个const修饰的是*p4,第二个const修饰的是p4

const int *p1=&a;//该语句不能解引用

p1=&ca;

*p1=100;//error

4.权限可以等同或缩小传递,但不能扩大传递。

eg:

int a=10,b=20;

const int ca=10;

const int cb=20;

int *p1=&a;

int *p2=&ca;//error  因为p2有可能被直接赋值,从而改掉ca

const  int *p3=&a;

const  int *p4=&ca;///error

const  int *p5=&a;

int  const  *p6=&ca;//error

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值