别的不说,我入戏的速度还是很快的,老爹刚刚才做完设定,我就快速想好了下面的剧情。
「你看不管是电视剧还是动漫,但凡那些坐拥宝物但是却没有对应守护宝物的实力,最终的下场一般都是家破人亡。」
就在这个时候,小弦子幽幽说道。他的声音就像是一盆冰水当头淋下,把我编织的美好幻想冻得支离破碎。
「这20后的小孩儿10岁都能知道这么多的东西么?」
老爹捂着额头,很是无语地看着我和小弦子。
「哎呀,老爹,现在都2032年了,6G技术都已经投入商用了,你的思想不能还停留在上个世界90年代撒。」
「别打岔,先听我把例子说完!」
趁着老爹看他自己电脑的时候,我偷偷地吐了吐舌头,还向他做了个鬼脸。
「好景不长,犹豫你保管不善,这把万能钥匙损坏了,到最后就只能打开一个保险柜咯。
我们姑且认为,这把钥匙就是一个指针变量,一开始它可以指向任何保险柜,但是在损坏后就只能打开那个唯一的保险柜了,这就和被const修饰了一样。
那么问题来了,难道因为钥匙只能打开唯一的保险柜了之后,咱们就不能修改保险柜里面的内容了么?」
「哦,原来是这个意思么?那我明白了。」
我若有所思的点了点头。
「明白了?」
「嗯」
「真的明白了?」
「嗯」
「咱们欢乐加倍,来看看以下四种情况:
int* const p;
int const* p;
int* const p;
int const* const p;」
「我勒个去,这个都是些什么鬼?」
看着投影仪上面的这四句代码,除了刚刚讲过的第一句以外,其他三句在刹那间让我进入懵逼状态。
一旁的小弦子也好不到哪里去,连举着的杯子都停在了嘴边,一时间忘记了喝水。
「跌倒了没?崩溃了没?」
看着我和小弦子的表情,三十多岁的老爹居然开始幸灾乐祸。看这样子,是要把他当年受过的虐转移到我们身上啊。
「哈哈,你们这表情就跟当年我参加二级考试遇到这道题时的表情一模一样,不瞒你们说,事后我认真的研究过,结果久了不用,很快就忘了。等到大学毕业找工作的时候,面试时我再次在此败下阵来。
后来我痛定思痛,终于总结出来了一个小技巧。」
「什么技巧啊?」
我眼睛瞬间就开始放光了,仿佛看到了绝世珍宝。
「好吧,那我就将老爹历经数载悟出的真谛传授于你们,希望你们能替老爹我发扬光大。
但凡遇到指针和const,咱们就把代码倒过来读,也就是从由往左读,遇到*就替换为指向』二字。
按照这个规则,第一句读出来就是:p是一个常数,指向一个int类型。就然p是一个常量,那么它的值指向的地址是不能够改变的,但是被它指向的地址中的内容保险柜中的内容修改不受到限制。
那你们来试试后面的。」
「p是一个指向int型常量的变量……」
「对头,咱们来做一个你们最熟悉的缩句,最终的结果是……」
「p是一个变量。」
「冰狗,对了。既然p是一个指针变量,它指向的地址自然是可以改变的,但是它指向的是一个int型常量,所以*p = 5这种赋值操作肯定就不行了。」