Const的使用

Const的使用规则

Const:定义常变量,不能写,只能读。

1、        数据类型对于const而言是透明的。

例:

int const cfh = 100 等价于 const int cfh = 100

2、        const用于封锁直接修饰的内容,将该内容变为只读。

例:

constint cfh = 100;         只读 const 修饰cfh

cfh = 200;     错误,cfh的值不能改变。

 

constint *cp1 = &a;      const 修饰*cp1

cp1 = &b;     cp1可以修改地址。

*cp1 = 200;     *cp1无法修改。

 

int *const cp3 = &a;     const 修饰cp3

cp3 = &b;     错误,cp3无法作为左值,无法修改。

*cp3 = 200;     正确。

 

int const *const ccp = &a;

ccp = &b;     错误,ccp是只读,无法修改

*ccp = 100;     错误,*ccp无法作为左值。

3、        权限只能同等传递或者缩小传递。

int a = 10;     有读权限和写权限

int b = 20;     有读权限和写权限

const int ca = 10;     只能读,不能写

const int cb = 20     只能读,不能写

int *p = &a     正确

p = &ca;    错误,p有读写的权限,但ca只有读权限,不能写。

const int *cp1 = &a;     正确,将a的地址给cp1,两者都只有读权限

cp1 = &b;    正确,const 修饰*cp1

cp1 = &ca;    正确,const 修饰*cp1

const int *cp2 = &ca;     正确,两者都只有读权限。

int *const cp4 = &ca;     错误,*cp3具有读写权限,ca只有读权限。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值