Swift 3必看:sizeof移进MemoryLayout

在学习Swift 3的过程当中整理了一些笔记,若是想看其余相关文章可前往《Swift 3必看》系列目录git

sizeof这个方法名直接取自C语言,可是实际上LLVM中并无一个函数叫sizeof。并且sizeof的使用范围很窄,不像mapfilter这种常常会全局用到。因此从新定义了一个结构体 MemoryLayout 来实现原来sizeof的功能,使用上也有变化。github

主要有两种方式,一种是直接经过泛型参数从静态变量获取:swift

let stringSize = MemoryLayout<String>.size复制代码

也能够经过调用静态方法获取app

let stringValue = "A"
let varSize = MemoryLayout.size(ofValue: stringValue)复制代码

二者都会获得正确的结果:ide

除了sizeof, MemoryLayout还能够获取stride alignment 函数

欢迎关注个人微博:@没故事的卓同窗学习

相关连接: SE-0101-Reconfiguring sizeof and related functions into a unifiedMemoryLayout structspa

相关文章
相关标签/搜索