巧记const的用法

我们都知道const可以修饰常变量,这可以是我们的代码更加健壮。那么我们如何来记忆const的用法呢?下面我用一个例子来说明一下:

我是一个小偷,这天我看中一家a,a这家里有10块钱,我眼馋,就从大门进去把钱偷了,然后大摇大摆的除了门。这件事呢被b家知道了。然后b家心想:“我去,10块钱都偷了,我家里有20块钱,那下一个不就是我了。不行,我得修一修大门,换把锁。”然后b就换了一个叫const的锁。这下大门进不去了。但是我是一个专业的小偷,大门进不去我翻窗户进去。所以我通过一个叫int*p的指针进去,然后把钱偷走了。然后知道了c知道了ab两件的遭遇,他把大门和窗户都换成了const的锁。但是道高一尺,魔高一丈。我这一次不放窗户,也不进大门。我打地道进去,然后把钱偷了。

代码如图所示

 

这是const的一种用法,那const和指针又怎么用呢?这里还是给出一个例子。

 

假如 m和n是男孩,p是女孩。p和m是情侣关系。这天p和m走在大街上,看见一个买凉皮的,凉皮10块钱一碗。p说:“我想吃凉皮”。m说:“ 不行,我只有十块钱,买完我不就是个穷光蛋了吗,不行,坚决不行。”p心想:给我花十块钱都不舍得,那我跟他还有好日子过吗,不行,我得踢了他,那个n挺有钱的,我跟她好去。换成代码就是这样

 m一看这不行啊,好不容易找到的对象找别人去了,为了10块钱丢了对象。不划算,我给你买,但你不能找男人。换成代码如下

 那如果是const int* const p=&m 的话,那就是既不能买凉皮,也不能换对象。

总结一下,当const修饰变量时,我们不能直接改变变量的值,但是我们可以通过地址的方法改变变量的值。当const修饰指针时,只要看看const后面是 *p还是p,如果是*p,那么*p就不能改变,但是p可以;如果是const是 p,那么p就不可以改变,但是*p可以。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值