00:06
请大家多关注我的主页,看更多的个人初级视频。这节课讲结构体的计算序列化。序列化是指将对象的状态转换为可以存输或者传输格式的过程,这种转换后的格式可以是自节、流、接、省插等。序列化能够将对象转换一种通用的格式,使得它可以在不同的计算机、操作系统或者编程员之间进行交互。反序列化,这是序列化的逆过程。在根源中使用标准库的,应可对接算包进行序列化和反序列化的操作。没有他的情况下,我这里分为了五种情况。现在开始写代码,这是五种情况。我们看一下第一种情况。
01:03
定义一个结构体type。STEM。可接应他。再来一个结构题。太安。然后新life。然后class类别。定义一个结构体的变量A。那你吗?嗯。设置那边。这个类别为田园犬。
02:03
然后。50万 Na.N等于。因为它是子孙,所以必须初始化。然后给life负责a life。等于点儿。Name等于旺财。Life。这结构体已经定义好了。现在可以进行心里话。虚的话用节省点儿马马歇尔。然后把A传进来。我们可以看到这个inding接层包已经引入过来了。
03:05
我们看到有两个返回值的参数。第一个参数是。是一个切片类型。第二个参数是AI类型。然后接触。接收完了,然后做一个判断。如果认为有错误的时候,说明训练方已经失败了。一年花10万。否则就把训练化的结果打印出来。
04:01
这里用最内心打人。运行一下。我们可以看到。这是接上了支付串儿。这是。古代格式化的训练法。我在。格式化。The ship park。然后带格式化的序列化应该怎么写呢?用节省点。Identity。
05:01
白船进来。是前缀的意思。然后是缩进的意思。收紧我有两个空格。然后我们看一下接收,接收编案是一样的。那我直接用第二轮。其实。然后再打印一下。做一个区分,然后带格式化的虚拟框。我们再运行一下。我们可以看到再一个说虚拟化。这,这个格式明显比不带格式化虚拟化要漂亮很多了。嗯,这个前缀是啥意思呢?我们可以用一个字母代替。
06:06
然后缩进,我也用一个字母代替。我们可以看到。出,除了第一个大框。之后的。一个。所以这就是前缀,而B呢,B是缩进了一次,缩进一次它有一个B,缩进两次有两个B,所以最后一个大括号它是没有B的,因为它没有缩紧。我们还是改回来吧。
07:01
然后训的话过后如果反训的话呢。他是用街上。第二。Marshall。第一个参数是传一个。但是宿主,然后。接收。首先来一个计算的字符串。Str冒号等于我把带一个的虚拟弄过来。然后这个地方因为它是带的速楼,我得强制转换一下。后面一个参数,它是一个。接受用什么接收呢?
08:01
因为他是animal,所以我还是用animal来接收。A2。这个地方就穿个A2。但是。为了让A值发生变化,所以这个地方必须传一个地针。然后还有一个返回值。第二轮。如果板训练怕失败了。自己的。打印出来。然后我们我们可以把A2打印出来。我们我们还是格式化打印吧。摆放警卫。
09:03
把圈进来,我们可以看一下结果。我们可以看到已经打印出来了。说说明返训的话是成功的。我们看第二种情况。捷克队的自段民如果小些,则不参与接层的训练化和反训化。这是什么意思?当我们写代码。我把上面的代码复制下来。如果这这段名如果小些。
10:05
我们把年龄改成小写试一下。那这个地方也就小心了。这个返训的话,我们就先不管了。我们可以看一下结果。我们可以看到life里面的年龄已经是看不到了,也就是说如果小些那个接身训的话,是看不到内机的。然后。
11:00
那么我们再改一下。这个地方还是。把那改成小区。这个地方都是小溪的。一级,我改成大姐了。我们可以看到。我们只能看到class田园犬。整个都看不到了。哪怕你里面那AJ都是大写,因为那幅小写,所以整个都看不到。
12:01
所以说,这段民族的小心,你就看不到阶层训练方案了。当返新同意把螺特去掉。把改成小写。我们可以看到。里面是一个利用了,也就是是一个空。所所以那里面的旺财A等于三是看不到的。他是不会参与反区化的过程。有这种情况,差不多是这样。我们再看第三种情况。结构体的字段。黎明字段。如果。如果是大学开学的基本内心。这等价于卖卖这是什么意思呢?那那写代码题。
13:10
把第一段的代码复制过来。我写一个别名。卖樱桃。等于in。那么下面。来一个麦音的。我们注意看到,这是匿名字段。然后再来一点慢音的。等于四。我们看一下训练化的过程是怎么样的。
14:06
我们可以看到慢音,它就是作为一个一个字段来显示。所以,所以说卖淫他等价,也卖淫他卖淫他。我们再看第四种情况。这个地段你名字吗?如果是结构体接层去的话呢,匿名字段不存在,但匿名字段下的字段会变成接层第一层,这是什么意思呢?再把第一种情况复制下来。
15:02
嗯。我把life改成一个。匿名字段。我们之前看到这个life。它是有一。他跟克拉斯同级了。然后我改成匿名字段,他还一次通缉吗?我们可以可以看到。带格式化训练,我看到那个life已经不见了。Mma已经跟class平级了,也就相当于这个匿名字段已经不存在了。所以说,那匿名字段下的字段会变成街上的第一层。
16:02
我们再看第五种情况,结构体的多个匿名字段是结构体有冲突的字段都不参与计算序列化和反序列化,无冲突之段会参与序列化,这是什么意思呢?我们把上面的代码。布置一下。我们再来一个结构体。来二。内改成内二。改年龄吧,A级改成A。然后。新佛二。
17:03
Life。嗯,六。Nine four。然后A点负二,A减二等于四。一点来。人。我们可以看到这个旺财和和年龄。会不会输出呢?我们可以看一下结果。Its first。你写一下。
18:05
我们可以看到,我们只看这个代表说训练话。我们可以看到。类别肯定是有的。然后name a级,我们看,我们可以看到已经不见了。因为两个人已经冲突了。A级和A级二它还是会输出的,因为A级和A级二它是不冲突的。这五他哥的。这五种情况我讲完了。
我来说两句