先从小个头的数据类型说起。Int、Bool这些基本类型在内存中都是连续存储的,但不同位数的系统会有差异。比如在64位系统上,Int直接占8个字节,你要是用MemoryLayout一测就能看到真真切切的数字。这里有个坑要注意,Swift特别讲究内存对齐,一个UInt8后面要是跟着Int32,中间自动给你插三个字节的padding,这事儿在C语言里也常见。
结
先从小个头的数据类型说起。Int、Bool这些基本类型在内存中都是连续存储的,但不同位数的系统会有差异。比如在64位系统上,Int直接占8个字节,你要是用MemoryLayout一测就能看到真真切切的数字。这里有个坑要注意,Swift特别讲究内存对齐,一个UInt8后面要是跟着Int32,中间自动给你插三个字节的padding,这事儿在C语言里也常见。
结
1万+
3248
2万+
419

被折叠的 条评论
为什么被折叠?