iOS inline 、define 、typedef 的區(qū)別

define:定義預(yù)編譯時(shí)處理的宏

只進(jìn)行簡(jiǎn)單的字符替換,無(wú)類型檢測(cè)

typedef:定義類型別名 用于處理復(fù)雜類型

例: typedef int A;

則:A a; //定義a為int

inline:內(nèi)聯(lián)函數(shù)對(duì)編譯器提出建議,是否進(jìn)行宏替換,編譯器有權(quán)拒絕

既為提出申請(qǐng),不一定會(huì)成功


inline

1) 產(chǎn)生背景

inline這個(gè)關(guān)鍵字的引入原因和const十分相似,inline 關(guān)鍵字用來(lái)定義一個(gè)類的內(nèi)聯(lián)函數(shù),引入它的主要原因是用它替代C中

表達(dá)式形式的宏定義。

表達(dá)式形式的宏定義一例:

#defineExpressionName(Var1,Var2) (Var1+Var2)*(Var1-Var2)

這種表達(dá)式形式宏形式與作用跟函數(shù)類似,但它使用預(yù)編譯器,沒(méi)有堆棧,使用上比函數(shù)高效。但它只是預(yù)編譯器上符號(hào)表的簡(jiǎn)單替換,不能進(jìn)行參數(shù)有效性檢測(cè)及使用C++類的成員訪問(wèn)控制。

inline 推出的目的,也正是為了取代這種表達(dá)式形式的宏定義,它消除了它的缺點(diǎn),同時(shí)又很好地繼承了它的優(yōu)點(diǎn)。inline代碼放入預(yù)編譯器符號(hào)表中,高效;它是個(gè)真正的函數(shù),調(diào)用時(shí)有嚴(yán)格的參數(shù)檢測(cè);它也可作為類的成員函數(shù)。

2) 具體作用

直接在class類定義中定義各函數(shù)成員,系統(tǒng)將他們作為內(nèi)聯(lián)函數(shù)處理;成員函數(shù)是內(nèi)聯(lián)函數(shù),意味著:每個(gè)對(duì)象都有該函數(shù)一份獨(dú)立的拷貝。

在類外,如果使用關(guān)鍵字inline定義函數(shù)成員,則系統(tǒng)也會(huì)作為內(nèi)聯(lián)函數(shù)處理;

iOS內(nèi)聯(lián)函數(shù)實(shí)戰(zhàn)測(cè)試(僅供參考)


#define (宏名要替換的代碼)

宏定義,保存在預(yù)編譯器的符號(hào)表中,執(zhí)行高效;作為一種簡(jiǎn)單的符號(hào)替換,不進(jìn)行其中參數(shù)有效性的檢測(cè)


typedef (已有類型 新類型)

別名, 常用于創(chuàng)建平臺(tái)無(wú)關(guān)類型, typedef 在編譯時(shí)被解釋,因此讓編譯器來(lái)應(yīng)付超越預(yù)處理器能力的文本替換

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)載自:http://www.cnblogs.com/iloveyoucc/archive/2012/03/18/...
    HelloGeekBand閱讀 905評(píng)論 0 1
  • --- 導(dǎo)語(yǔ) 糟糕的物理設(shè)計(jì)是對(duì)遺留大型系統(tǒng)中進(jìn)行重構(gòu)的非常棘手的一個(gè)問(wèn)題,本文相機(jī)闡述了遺留系統(tǒng)中存在哪些糟糕的...
    尉剛強(qiáng)閱讀 1,656評(píng)論 1 7
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy閱讀 9,533評(píng)論 1 51
  • 1.面向?qū)ο蟮某绦蛟O(shè)計(jì)思想是什么? 答:把數(shù)據(jù)結(jié)構(gòu)和對(duì)數(shù)據(jù)結(jié)構(gòu)進(jìn)行操作的方法封裝形成一個(gè)個(gè)的對(duì)象。 2.什么是類?...
    少帥yangjie閱讀 5,031評(píng)論 0 14
  • 墨寧 你是誰(shuí) 為何枝繁葉茂 團(tuán)花錦簇秀成堆 羽毛鱗片似的 一尾又一尾 春雨情思隨風(fēng)成夢(mèng) 一團(tuán)一團(tuán)相思的清淚 昨夜旅...
    墨寧墨閱讀 297評(píng)論 6 7