结构打包是Linda Hamilton(作为Sarah Connor)在《 终结者2:审判日》中陷入困境的升级。
因为上下文就是一切,所以首先让我们在第一个《 终结者》中仔细看看莎拉:
在本文中,我们称她为SarahLinda。 莎拉·琳达(SarahLinda)在《 终结者》(Terminator)的大多数地方扮演着美国的甜心,这是一位漫无目的的服务生,有着一颗金子般的心。 但是,在摆弄武器库存的处女凯尔(Kyle)之后,就讲述了一个奇怪的,令人难以置信的故事,讲述了他为何拥有她的照片,之后,她了解了自己一生的事实。 就是说,未来的死亡机器人正以其谋杀莎拉·琳达和她所认识的所有人的快乐之路,这全都归功于莎拉·琳达的肥沃子宫。 因此,她有点坚强,因为你知道生存。
没有更好的隐喻用于结构打包。
这是两个片段,它们模仿了这种情况*:
struct sarahLindaTerm {
天真
像小猫一样
鲁less
}
进入
struct sarahLindaTerm2 {
uint16天真;
uint16小猫
鲁re
}
因此,以此类推:
-
struct
是SarahLinda的生命上下文,它可以限制uint256
(uint256
是uint256
的默认值,但struct
内部除外) -
struct sarahLindaTerm
代表《 终结者》中的 SarahLinda角色 -
struct sarahLindaTerm2
代表《 终结者2》中 SarahLinda的角色 - 在这两种结构中,uint值
naive
和kittenLike
以及kittenLike
代表了kittenLike
这些鼻子特征 - 从对
naive
和kittenLike
类的分类(从uint
到uint16
的更改实现了结构打包的过程。 这最大程度地减少了她个性的这些方面,减少了他们可以占用的空间
Solidity中的结构填充会迫使存储压缩,从而减少了气体消耗 。 当SarahLinda从“ la-te-da”升级到“ MOVE bitch!”时,她的坏蛋程度不断提高,她通过允许naive
和kittenLike
的价值观占用更少的个性空间来最大限度地提高生存效率。 也许它们仍然在所有黑色衣服的下面,但是这些特性大大降低了。 reckless
,您会注意到,并没有受到限制。 她可能仍然需要很多空间,这样情节才能保持友善和动感十足。
莎拉琳达(SarahLinda)不再花很多时间naive
! 她通过压缩这些特性节省了气体(能量),从而最大程度地提高了生存机会。 也许, 也许 ,她会活下来。
开发免责声明!:此代码仅用于说明类比! 请为圣洁的一切所爱,请不要在您的链式代码中拍打。