00:00
那这个关于string的,相当于内存这个层面的这个结构呢,咱们就算是说清楚了啊,哎,我这呢,后边这边也有相关的几个呃,较小的练习,这个练习三的话呢,这就不用多说了,咱们刚才也讲过这呢,咱们刚才用的是S等于S加上一个什么加等于是一样的道理。啊,只要是加等于,因为你这涉及到变量的拼接了,所以都得是在堆里边去新造了啊这就不用多讲了,那这块呢,有一个客户的这个小的问题,CTRLC这个呢,相当于还是有点考大家就是知产力的问题。这呢是一个。这是一个这个这个属性了啊,那咱们按照这个题目要求这个string test,咱们写到一个练习里面。嗯,新建一个包。这个题目的话呢,大家应该有能力做对,这是一道面试题,直接呢,我把这个面试题呢,就拿过来的。
01:08
看一下这呢声明俩属性右的方式,这是一个查询数组,好这呢写了一个普通的方法,这个方法的话呢,我们声明string,声明查询数组在这里边呢,把这个string呢修改了,查询数组的第一个位置改成B了。接下来背方法当中造一个当前类的对象,调确认方法,问结果。这个呢,不妨我就把这稍微改一下了啊,我这就直接改成换行了,这个就不要了,直接你就看这个itr和我们这个差异数组就可以了。好,这是多少?嗯,这个是多少。
02:01
Test OK。嗯,刚才听的挺嗨的,然后一落,这道题的发言还是有难度的是吧?什么呀?这个小这个是什么,你觉得这个结果是多少?没看出来还是比较实在的啊,其实你可以蒙一个,因为概率有50%是吧。这更实在,谁也不知道啊。那后边王克鹏呢?别这样啊,都不知道我这讲的没成就感了是吧,啥呀,看OK对吧。
03:10
嗯,对呀,对吗。这时候倒挺坚定的,这个我不是炸你的,这个是错的啊,太OK,不对,Good啊,先接着往下看,说完以后咱们一起说这个,这个是test还是best?有的同学这个发音我都不知道你说的是哪个test best,嗯,对吧,程序结果肯定不会骗我们啊,人家是对的,然后往回推,你可以这样来整,这其实考察是值传递啊。
04:00
只不过呢,这个直传地当中涉及到咱们说的字符串了,咱们又恰好把这个字符串的内容又讲过了,所以咱们在这又把这个问题又回顾了一下,这呢,我们是一个新的变量,注意在内存当中,这是不是一个变量,这是不是也是变量啊,我把这个变量的地址给了他了,然后你这个,呃,这个这个。字符串啊,我指了一个新的内容,我这个string是不是叫不可变形。对吧,我把我的这个地址给了你了,你是不是也指向这个叫呃叫good了是吧,但是呢,你这块是不是把你的内容改了呀。咱们不是说过词论是不可变的吗?你不可变的就是你改了是不是不能影响我呀?那所以我还是good呀,咱们当时讲值传递的时候说过结论,结论什么呢?说基本数据类型传的是你存储的数据,引用数据类型传的是地址值,哎,我当时说说大家呢,你记这个结论,不要记另外一个结论。
05:03
另外的什么结论呢,说这个啊,引用数据类型呢,你把这个地址附过去里边,如果要是改了以后呢,会导致原来这个改了。我说这个结论是不对的,哎,这不就是一个明显的例子吗?啊,你这是个地址,我把地址呢复过来,然后呢,里边呢,这个引用类型的变量呢,把这个地址的这个数据改了,诶说这个string那就也应该改发现了,不是因为string比较特别,它叫不可变。啊,不可变,所以呢,你记结论,记一个最正确的,就传是传递值,至于说传递值以后怎么着,那就具体问题具体看,此罪呢,叫不可变性,所以呢没改。那差形数组这呢是一个数组,我把这个地址值赋给了你的一个新的变量啊,形态叫CH,那么就意味着咱俩呢,指向的是对里边的同一个这个数据吧,啊,那你现在通过你的这个地址,你把我改成B了,我数组又不是不可变的,你把我这个相当于就是你把这个数组里边的这个,原来这个叫T,你通过地址,咱俩地址一样,你通过你这个变量把我这个T改成一个B了,那我回来再去输出我当然我就叫B了。
06:12
啊成说明呢,这个题呢还是有一些难度的啊,那这个题呢,考的就很到位啊,一下子就点到大家这个问题点这了,下来呢再考虑考虑啊这里边呢,涉及到string的操作,就是咱们刚才讲的啊,这里边这些点啊,大家呢,从下往上呢去看都得要清楚啊,就是你去面试啊,说我想要这个一万五啊,人家旁边那个要一万二啊,结果呢,最后发现一万五人家还是希望你能来那个要一万二的勒都不勒那个一眼是吧,为啥呢?啊,因为呢,你这个功底好嘛啊就是自这呢,大家都会用调研方法,那是比较low的啊,那底层这个结构到底什么样子,这不是所有人都能说清楚的啊,你要清楚,那就能凸显出来你的这个区别啊好。
我来说两句