00:00
还有一个半小时啊,直接讲到完。那好,那我们这里面再回过头来还有什么呀,这个里面讲了是内存操作函数,咱们看了两个,一个是set,它的主要目的是什么,是叫重置一块内存区域的这个值是不是重置,为什么值啊,最有效的是零最有效的啊,其他值你可以重置完之后怎么的出错了是不是,嗯。好。第二个什么是,呃,Memo copy是拷贝的意思是不是啊,将一块内存区域的值拷贝到另外一块内存区域,然后拷贝多少个大小是这个S,呃,不是,是这个,后面这个N代表这个值啊,这是这个,而且需要注意一个问题,就是什么是这个。标红线啊是呃,目标和圆内存空间不能怎么重叠,是不是重叠可能出现错误,是不是因为这个问题,所以说我们下面还有一个什么叫。闷木木是不是啊,不是我大舌头啊,叫闷木木是不是,它是什么操作呢?是和这个呃闷copy一样的用法,区别在于什么?区别在于这个是它如果你指向价空间重叠时,这个幕幕布它也能处理,它怎么处理呢?它是找到一个临时的空间去存储,然后怎么然后再去拷贝,不只不过这怎么的执行效率低一些是不是?那给大家画图这个演示一下是什么样的过程啊,先不用这个啊,先用再来一个新的。
01:22
比如说这个什么是我要需要拷贝块内存俩值,这块一个值我需要拷贝啊拷贝到哪,拷贝到这里面,如果这俩重叠的情况下,使用这个me copy可能出现错误是不是,那我们这里面用什么用这个是它就不会出现这种问题了,它怎么样?比如说这里面我要拷贝的情况下,发现有五个重叠,是不是,他就先把这五个先放在一个空间中,然后再去拷贝,拷贝完之后再把这五个怎么着。拿回来是不是就相当于我们多了一个什么呀,多了一个这个临时变量一样存在,是不是就相当于我们定义那个是PMP一样存在着,是不是就知道了吧?啊,这是什么?这是闷木木,这种方式怎么着安全的,但是会怎么着会这个是占用额外的内存空间,而且它的效率怎么着。
02:08
是不是也比较低啊,拷贝到这里面来,然后再挪过去,再挪过去是不是就先前面给大家举过那个是萝卜坑的问题,是不是一个萝卜坑,是不是,那先把这个萝卜拔下来扎插这个坑里,再把这个萝卜插过来,这样插进去是不是?嗯,就这样的过程啊,那我们看一下这是闷摸磨的方式,它的参数和什么,和这个闷木copy是一样的。继续来一下啊,是这是。啊,就这里面还有错误,是不是这个错误跟大家说一下啊,就写代码写开心了,这个忘了那件事儿是不是,就当时写是怎么写,是这个是。非P是不是啊,这个写错了,怎么写错了呢?应该是P吧,是不是啊,非P是不是正好搞反了啊?所以说这个问题大家注意一下,这看到怎么不告诉我呢?嗯。没注意就过去了啊,正常情况应该这么写啊,是P等于nu啊不是不是,是sorry啊是P不等于NL,代表这里面是不是有值啊啊所以说这么操作,所以说后面可以怎么的省略不写是吧,结果我直接这个这个脑洞大开,加上这个是不是就错了啊,是直接写个P就可以啊,或者你写这个P不等于nu一个意思吧,啊一个意思。
03:17
好,这是刚才出现的问题啊,那好咱们继续去完善这什么,完善下面操作。15011502。再来一个是int类型的M。An括号。这个要操作什么操作的是这个是木木木网啊,我没大舌头。嗯。呃,看一下操作啊,比如说拷贝,拷贝这里面也和之前发生重叠,那我们用目来试验一下啊me o目,然后这里面操作,这是首先第一个啊,需要拷贝的这个位置是。
04:00
按AR中的二啊,然后拷贝到哪啊,拷贝到这个是AR中,然后拷贝多少个呢?拷贝是。啊,40个可能就就出现错误了,这个40个。出现错误它可跟,那我看一下,这个里面是拷贝的目标,拷贝的圆,你要这里面写40个真报错了,你无论是目还是什么,还是copy都报错,为啥报错了,这面越界了是不是啊,你要拷贝它里面内容,你要这超出这个东西咋都报错啊,这里面拷贝多少个,拷贝是20个是时能报错啊,啊我们再打印一下啊,是负偶循环是。NI等于0I小于10I加加。打印一下。哎呀。这里面这个俩俩值发生冲突了啊,正常情况下这个是拷贝过程。一二,然后是12345是不是拷贝几个,拷贝了是。
05:07
五个吧,这里面20是不是四五二十啊,然后是八九十,这边20是不是没动啊,啊没动啊是拷贝这样的内容,这里面就是出现了重叠,这个目也能解决这个问题啊,那如果说没出现重叠的情况下,闷木和闷copy是不是一个意思啊啊都是一样的,如果出现重叠的情况下,用哪个,用那个是闷木,它保证怎么的不出错是不是啊,你要闷copy情况下,他可能出错了,但是也可能不出错是不是啊,这个大家注意问题啊,这是某。大家写一下他俩的相同点和不同点啊,我写一下吧。啊。Me Mo草。拷贝。呃。拷贝叫什么,拷贝叫我看一下这个这个名词叫什么名字,拷贝重叠内存地址啊,拷贝重叠内存地址不会出现。
06:05
问题啊,但是效率。呃,比较低。啊,只是这个是重叠的部分啊,那如果重叠部分是不是一样的啊,如果。拷贝员。和拷贝。呃,目标目标没有重叠。如果没有重叠。不会。呃,是它俩的效率一样吗?是不是这个是,呃,两个函数效率一样,两个函数。效率一样啊,这是它俩的这个区别,和联想班长记下啊,那咱们这里面还有最后一个是什么,是这个是。那么。Come come什么了,Comp什么?这我怎么又忘了呢?Compare compare啊,Compare是什么?是比较两次串的是不是啊,不是,Sorry,是比较两方内的区域大小的是不是啊,那好,那这里面给大家写一个啊。
07:14
这个是1503。再来一个int类型的。Man括号是。比较我先写块,先写一块值啊,比如说int类型的AR,然后让它等于十。等于一二三四五六七八九十多少个十个大小是吧,再来一个AR1这是A2这个是。五个大小,让它等于1234。啊,这里面几个值啊。四个值,这个其实这边应该也是五个值吧,还有一个值位多少啊零,我们用这个什么闷目呃,Compare去比较一下闷目CM。
08:04
3P是比较两个什么比较两个这个是内容,呃,比较两个这个区域的,那我们有什么用,AR1和这个是AR比,那比几个比这个是。四个,那它俩相同吗?相同,那比例什么比?这个是,呃,20个呢,相同吗?20个相不相同啊啊,那我们先比一个啊,看一下是这个什么,是它有个反问值,它反应之什么类型的啊,In的类型的,那我们进入这个值看一下啊,是int类型的VL就是Y6,让它等于这个值,先比较一个四。看它这个结果为多少是。PF是百分号D斜杠N逗号一个。呃,逗号一个是V。Re return,一个零。走势开始执行。
09:01
哦。小心点啊,小心点,这个门门这个开,开窗户的时候最好把门关上了,要不然这个吓吓一跳。找哪了,应该应该等于零是对的吧,是不是结果啊,这这证明啥了,证明这两个相同吧,是不是,那这个四代表一个什么,一个一它性大小是不是,我比较是比较这个一和这个一是不是大小啊,那比如说比较一个20,再给大家看一下啊。找这角开始执行啊,这里面反分值是几啊一,那还有一个反分值应该是几啊负一是不是啊,就是我们可以理解为什么呀,一个大于一一个小于一是不是啊,大才这个结果值啊是啊,大于零,哪个大哪个就是返回大于零,是要小于零,起码返回小于零结果不是就是它俩比较,比如说这个值要是要是上面这个大就返回大于零,下面这个大小于返回是小于零,如果它俩相等返回什么。等于零,这时我们想要结果就是什么,就是等于零,是不是可以做一个条件判断,怎么写,是这么写,如果是,非me。
10:04
CMB,然后括号比较一什么比较一个是ARA,然后和这个是ARAARA1和这个是AR,二然后比较一个大小是八个大小,那这里面成立不成立啊。看一下咱们这个等式是不是成立啊,这里面得到结果为几啊?零非零结果是什么?是一这里面打印什么?打印是啊是。呃,钱。两个。呃,数组元素内容相同。相同。呃,分号这里面后面就不不写换行了,只是让大家演示一下啊,调试开始执行。啊,这里,诶。啊相同是不是,然后这个Y6是对应这个结果是不是这个结果为一啊,啊比较20个不同,那这里面有效多少个相同的,呃,16个是不是啊,你别给我这个这个什么这个四个啊,啊是16个啊,那是这一块情况来这里面还能延伸啊,咱们给它延伸一点再来一块。
11:11
比如这样写啊,这样写是怎么写呢?是。Int星。P等于malo,开辟空间大小多大是这个是。赛道。塞豆腐是?四乘以个十。啊这这sorry啊sorry sorry啊这个四,其实如果写个四情况下,你应该也知道啥意思吧,In的类型大小是不是啊啊,当然你写这个四和这个写in的是不是一样值啊啊,我知道是这个这个四啊这个只是这个写开心了再来一个差。啊,注意一下,我现在这两个不同类型了啊啊星啊这个叫。P,呃,叫这个叫P2吧,P2。
12:00
等于一个malo。开的空间大小多大呢?这个是。塞到这里面,如果写这个写成信息就不对了啊啊乘一个什么,乘以一个是40。拷贝俩空间是不是,然后这里面我做操作,做什么操作是MECPY这种不安全的是不是,那我就这么写是不是啊拷贝的内容拷贝什么内容呢?是放在这里面来是P,然后逗号写一个是哈A勒勒喔啊啊呃不能够吗。先写个这个哈喽吧,啊,先写哈,啊稳稳这个可能够是不是,然后卡贝大小是。多大呢?这哈几个是啊。六个啊,拷贝这个六空间大小。六个,那这个是P2,那我这里面再通过什么,通过这是me。CMMP比对一下什么,比对一下这个是P1和P2,比对几个值呢?比对六个值,那你说一下这个大小,呃,它俩的它俩是不是相同的,但是首先是它俩这个类型不同,我看一下啊,再给它释放掉,然后是。
13:14
P。然后是。P2啊,释放掉这里面的这个可以打印一下,打印一下这个结果,那我可以这样做为判断啊是。非啊,这代表下他俩怎么着,他俩这个是相同吧。括,括起来是。如果非的情况内容相同,不明白啥意思吗?如果它俩相同的情况,这值为几啊?是零,非零是不是代表它俩相同了啊?这个不要不要再有疑义了啊。否则情况打印什么打印他俩是。
14:00
不相同。内容不相同。那你告诉我结果它俩是相同还是不相同,就这一块代码啊,就这一块代码,没有太多内容,就这块儿。相同还不相同啊,首先它俩数据类型怎么样是不相同的是不是,但是他俩这个里面的这个存的值啊,是相同的是不是啊,但是这个里面如果你要用int类型,是不是把这个值转成int类型了,这转成什么,这转成这个是差类型是不是?但是在内存中存的内容是不是相同的呢?我们看一下啊。走势开始执行。看结果为什么呀,是不是内容相同啊,啊这里面怎么给大家解释一下,它俩虽然是数据类型存的不同,那是我们读取出来之后才发现的,是不是啊,但内存中存的是不是都是什么,都是这个是二进制码啊,是不是啊,它每个是不是对应都是一个二进制码啊?啊,那你每个二进制码呢,在内存中存的是不是都一样的值啊,所以说他们这个二进制码既然相同,就是或者说我们要说的阿斯特码值相同,那它们这个值是不是就相同啊?啊就这一个意思啊,那这是第一个例子,这块有什么疑问吗?
15:01
有问题吗?有问题吗?能能看明白这这块比对区域吗?那好再来一个。再来一个让你看一下能不能看明白啊,比如说这个是int类型的是。A等于十。和一个差类型的,什么差类型的。B等于十,那我比对一下它的大小,它俩是不是一样的值啊,那么。呃,是CP。比对一下,比对一下是什么是。呃,A,注意一下,这里面得写什么A呀。和B能明啥意思吗?这块取地址是不是啊?比对地址内容比对几个?比对是四个情况下它俩相同吗?来把这个复制下来,然后拿这来把哪句话改了,把中间这话改了。
16:03
扛价差,然后这里面是。目比对的时候比对是几个,比对四个是不是啊,这看明白了吗?对型A和对型B是不是,然后比对几个,比对的是四个啊,看一下相不相同啊啊,这个释放就不用释放了吧,注销掉。就这块代码看下相不相同啊,调试开始执行。内容不相同是不是,那么比如说比对一个呢。一个行不走啊。超市开始执行。内容相同,看到了吧,一个相同的,为啥呀,他俩地址中,那如果说在什么,在这个是差里面拿出个印的类型大小是拿出哪个,就是这里面再给大家画一个啊这个这个图不不需要了,不好传。这比如说这比这比如说什么,这比如说这个是我们差类型大小是不是啊,这里面是不是in的类型大小,In的类型A等于十,那你说A会存在哪哪两个值里面来呢?是不是应该存在在最低位啊,就是我们正常看先不用管大小端对齐啊,是不是应该把A存在什么,把这个十存在这里面,为啥呢?你想想这里面转成阿斯克玛应该转成多少啊是。
17:17
应该转成这个是0A吧,是不是啊,前面都应该是什么,全应该都是零零,这应该是。呃,零零,这应该是。零零是不是就是他在在我们电脑上存的是,如果你展开情况下应该是什么?是应该是前面是不是都是这个八个零八个零八个零八个零到这几个是1234,然后十呢是1010,是不是这样子啊,是不是这样存在我们内存中存在我比对几个比对的是不是这个是,如果是。差类型的,呃,B等于十,那B存的是几个空间啊?一个空间是不是啊,一个空间,那这里面它存的这个值也是多少呢?也是这个是呃是0A0A0A比变成二变成什么,二进制应该是多少,是00001010比对是不是这俩这俩这个内容啊。
18:10
就是这块区域和哪个区域啊。和这个区域进行比对,是不是一一,这个是1010,和这个1010比对啊,它相同吗?相同是不是,那比如说拿出四位比呢,比如说这1234加起来,这个正好是个印的是不是大已经超出了什么呀,超出了这个X0取值范围,这里面再一比对前面这个零零,这个零零和这个零零比对情况下,还能和前面这个成功吗?不能了是吧,应该说不一定能,是不是这样这样更准确一点啊,啊,不一定能啊,当然我们的结果是不能啊。这个明白啥意思吗?明白了,那好,那再来一个,再来一个什么,再来一个这个例子啊,是这个是让它等于是。呃,0XFF,这个应该要它等于什么是0X?7F。难道比对一个,他俩相同吗?
19:06
啊,比对一个它相同吗。比对一个是不是懵了,是不是这一个到底不知道是哪一个了,这个一代表啥?代表是这个一个字节大小是不是啊一个字大小,那你看一下这个这个0FS转完之后是应该是多少啊。相同吧,应该是结果是不相同是不是啊,不相同啊,为啥呢?看一下结果调试开始执行。说不相等啊,这里面大家看一下,如果是什么是这个是。FF应该正好把这个位占满了,是不是相当于全是几啊,全是这个是12345678,几个一是八个一啊,那这里面几个一啊,这里面是是0111,然后1111是不是这值啊,它相同吗?是不是不相同啊啊这把就不相同了,那我再给你改一改啊,是0XFF,然后这应该是什么?这应该是。
20:03
呃,是呃,FF,好,同样四个F,那比对一个它相同吗?相同吗?确定吗?啊,来我看一下结果,调试开始执行。诶,这个内容结果为相同,我再换个这,呃,不是不是不是我看一下啊,这个里面这个正常情,正常情况下这个是溢出了,看到了吧,溢出之后刚好又回来了,我看一下。溢出之就回来,对呀,溢出回来还是这个值是不是,那这个这个这个例子,那么比对两个看一下这个溢出之后的结果,溢出到音前一位,看一下前一位接没接入这个值是不是可以啊,比如这两个看一下这个接没接收啊啊调示开始执行。内容不相同吧,溢出之后不会溢出到别人那去,是不是咱们之前讲过吧,你自己这个数据溢出不会溢出到另外一个数据里面去,是不是只是舍省略掉了,是不是这个问题咱们可以了吧,那看这里面这个转氨的值为多少。
21:06
那看一下啊,是我放上去了没有,我要有我不看着了,你瞅瞅年轻人别在那犟好不好,来这里面看一下,是这个是多少进制的,是这个是16进制。啊,这这不是16进制的什么是这个是1234,这是6535是不是啊,哎呀,这说再再减去个什么,再减去一个这个255的减,呃,是有方方了。有放号是不是都加255啊,一个周期是255啊,这哎呀错了。呃,等一下啊,别着急是。1234,然后是减去一个255。最后。我是不是减错了,减错了啊,减错了啊,等会儿呃,用标准卷用不是还用青春元卷器啊,是减完之后最后还剩个255吧,应该是。
22:06
就这个数减完之后,这个最终结果,他他能接收的是这是一个有符号符号的,有符号的取值范围。负负918负,呃是呃,负628到正617之间是不是啊,负618正正627之间,那最终结果应该是它是什么样才能跟它相同呢?是。零的值是不是太相等啊?它应该它应该是这个最后结果为几啊,为零是不是啊,那我可以打印一下,打印一下谁打印一下B的值是不是,那我们先不管,先不管这个问题,先打印一下谁吧,B的值可以吧PTF。百八号D、斜杠杠N,然后是逗号一个。B是不是这样,打印一下B的值,我们就知道这个B的值多少了,主要是哎呀点错了。
23:04
啊,看一下这个结果啊,调试结果为几啊,负一,负一在算法中存的值为多少啊?呃,是这是一个,呃负一,这是原码显示出来的是吧,我就转成什么呀,呃补码吧,补码情况下应该是,哎呀,再再转一下。补码转一下,这是最呃是呃是源码,什么源码是源码是。负一是不是看一下是一后面是,呃是1234。呃,1231是不是这只啊,然后转成什么,转成这个是补码吧,补码是什么?是11111,然后是1110,再转成什么。加一是不是1234,然后5678,就是这结果是不是四个一啊,在这里面存着的负一,那这里面存的是不是也负一啊,那这这里面应该是我写的是F啊F。
24:06
是不是这样结果啊,然后前面是零零,那这里面是不是四个一,因为这是个正数啊,四个一和这四个一,这比对什么比对是我们这个是内存中存的值知道吧,所以说这俩四个一是不是相同的啊,显示的结果为什么为这个是如果我们要操作情况下这么操作啊。显示的结果为。相同是不是这样结果啊,那这是我们打印这个值啊,这是所以说这个memo me什么memo,这个copy,呃不是叫compare吧,Me compare这里面比对情况下可能比对一个什么,一个自大小是可以比对多个呀啊所以说不限于什么,不限于数据类型之间的比对是不是,那咱们之前学那什么学那个me目,呃不是不是string compare是不是啊,那个只能比对什么比对这个是字不串吧啊这个是不是不限类型比对啊,那这个是大家注意的问题啊,这是我们讲的是最后一个是。
25:00
对,是比对。好把这保存。
我来说两句