const深入理解之穷小子的占有欲

内容:

                const深入理解之


这里有三个变量分别为p、m、n

接下来放一个代码:int* p = &m;

这里我们明白p是指针类型的一个变量,p里面存的是m的地址。如果这句话不理解,可以这么理解,既然m的地址存放在p中,那我们是不是通过p就可以找到了m了,很像是p指向了m。

接下来就是我们今天的内容了:

要理解const的修饰情况;

第一种假设:

我们可以这样想像,p是女孩、m是男孩1、n是男孩2;

热恋中的女孩带着男孩1 去逛街,女孩渴了,想喝杯奶茶,问男孩1

可不可以请他喝一杯。可是男孩1只有10块钱,如果买了那自己就没钱了。

买这杯奶茶这个动作就是:

*p = 0;(女孩花完了男孩1兜里的十块钱,就没钱了)

可是男孩1想想不请他喝奶茶,不然十块钱不保了。

所以男孩1想了一个办法,

int const *p = &m;(在*左边加一个const就意味着修饰着*和p)

那当女孩想要买奶茶 也就是 *p=0;这个动作就不可以完成了;

---------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------

女孩一看这么小气,奶茶都不请我喝,她觉得男孩2也不错,而且还有钱,长得也帅,就想找男孩2

处对象;

女孩就 p=&n;和男孩2建立了关系;

---------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------

小贴士
这里为什么我们可以p=&n???

我们从上面可以知道const修饰的是*p没有修饰p所以这里p是可以对n取地址的;

**************************************************************************************************************

---------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------

男孩1又想不可以分手,要换男朋友这不可能!!!所以男孩1就慌了,还是请他喝奶茶吧,但是希望女孩别换男朋友!

int * const p = &m;

所以男孩1在*的右边加了const, 在这两个位置加const,修饰的就是p了。限制了女孩找别的男生!

那这个什么动作可以发生呢???

你想的没错啊~ 是 * p = 0;这个动作是可以发生的,也就是可以花男孩1的钱;

但是 p =&n;这个动作是完成不了的;因为这时候p被const修饰了;

这时候女孩就比较惨了,她只能和男孩1做男女朋友,不可能在和别的男生有联系了。

---------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------

朋友们,我们来这样想一下,男孩1又不想花钱,又不想分手,他会怎么做???

给自己留一点时间思考一下哦,在来看下面的思路

---------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------

这种花钱的情况又经常发生啊,但是男孩1 又很穷,没什么收入!但是喜欢这个女孩,不想和她分手!!!

男孩1 琢磨了很久

想了想

原本int*p = &m;

女孩是可以花到自己钱的 *p =0;但我不想给女孩花钱;

所以我在*左边加了一个const,这样女孩*p=0。的时候就不会成功;

但不给女孩花钱她就会分手,找别的男孩; p = &n;和别的男生建立关系;

我又不想分手,所以我就把const放在了*的右边;

那占有欲又强、又穷的男孩1 就在*的左右都加了const

int const * const p=&m;


总结

  • const修饰*p就不能改变 *p的内容;
  •  const 修饰p就不能改变 p的内容;

最后的最后,创作不易!看完觉得作者写的博客对你有一定帮助,一定要记得一键三连哦!

如果有错的地方也希望大佬指正出来,欢迎大家来评论交流!与大家一起学习进步!
点赞评论的我也一定会回访!!!
                                会回访!!!
                                会回访!!!重要的事情说三遍!
下期再见~
————————————————
 

猜你喜欢

转载自blog.csdn.net/Fly_pig1/article/details/122491736