Swift 3必看:sizeof移進(jìn)MemoryLayout

在學(xué)習(xí)Swift 3的過程中整理了一些筆記,如果想看其他相關(guān)文章可前往《Swift 3必看》系列目錄

<code>sizeof</code>這個方法名直接取自C語言,但是實(shí)際上LLVM中并沒有一個函數(shù)叫<code>sizeof</code>。而且<code>sizeof</code>的使用范圍很窄,不像<code>map</code>,<code>filter</code>這種經(jīng)常會全局用到。所以重新定義了一個結(jié)構(gòu)體<code> MemoryLayout </code>來實(shí)現(xiàn)原來<code>sizeof</code>的功能,使用上也有變化。

主要有兩種方式,一種是直接通過泛型參數(shù)從靜態(tài)變量獲?。?/p>

let stringSize = MemoryLayout<String>.size

也可以通過調(diào)用靜態(tài)方法獲取

let stringValue = "A"
let varSize = MemoryLayout.size(ofValue: stringValue)

兩者都會得到正確的結(jié)果:

除了<code>sizeof</code>, MemoryLayout還可以獲取<code>stride</code>,<code> alignment </code>。

歡迎關(guān)注我的微博:@沒故事的卓同學(xué)

相關(guān)鏈接:
SE-0101-Reconfiguring sizeof and related functions into a unifiedMemoryLayout struct

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,667評論 4 61
  • 轉(zhuǎn)載自:https://github.com/Tim9Liu9/TimLiu-iOS[https://github...
    香橙柚子閱讀 9,175評論 0 36
  • 挑起最柔美的珠箔,把我激動的笑靨藏躲 簇?fù)碇牟皇菭€漫的嬌艷,而是輕柔的羞澀 黃昏時(shí)你微冷的步履,我呼吸間薄汗青衣...
    清夕凌雁閱讀 440評論 0 0
  • 大四快要畢業(yè)了,今天還在班級群里討論拍畢業(yè)照的事情,在準(zhǔn)備畢業(yè)的時(shí)候,總覺得時(shí)間過得格外的快。 天天在宿舍準(zhǔn)備畢業(yè)...
    太陽花xch閱讀 141評論 0 0
  • 我以為我可以陪你走完整段回憶,卻不想我們竟如此這般早早分離… 當(dāng)從前還未遇到現(xiàn)在的你,走到哪我都會想著該有多好若身...
    草頭青年閱讀 301評論 0 0

友情鏈接更多精彩內(nèi)容