C 內聯函式總結

2021-07-04 21:01:07 字數 730 閱讀 2429

c++內聯函式

inline函式,看起來像函式,動作像函式,沒有巨集的***,可以呼叫它們又沒有函式呼叫的額外開銷。多好的內聯函式

實際上,獲得的比想象的還要多,避免函式呼叫的額外開銷只是它好處的一部分而已。編譯器還可以通過最優化機制(被設計用來濃縮那些『不含函式呼叫的**『的**),所以當inline某個函式,編譯器可能就有能力對它執行語境相關最優化。

但是函式呼叫會增加目標**的大小,然而,如果inline函式的本體很小,編譯器針對『函式本體『產出的**可能比『函式呼叫』產生的目標**更小。

總結:

內聯函式優點:

1 沒有巨集的***

2 沒有函式呼叫的額外開銷

3 編譯器可通過最優化機制優化**

缺點:可能是目標**增大,所以,使用時,函式本體一定要足夠小

使用注意:

1 inline宣告函式為內聯函式只是對編譯器的乙個申請,不是強制的

2 將函式定義在class定義式內預設是內聯的

3 析構函式和建構函式往往是inline糟糕的候選人(想想析構構造都做了什麼)

4 inline函式是否內聯還取決於它的呼叫方式

如: inline void fuc(){}

typedef void (*pf)();

pf pf = fuc;

fuc();           //內聯的,正常呼叫

pf();       //不一定內聯,通過函式指標呼叫

c 總結 C 內聯函式

函式有inline修飾 當呼叫內聯函式的時候,不會轉到函式裡面執行,而是把呼叫函式替換為內聯函式裡的內容,效率比較高 提高一些迴圈語句的效率 內聯函式 inline int add int a,int b int main 內聯函式呼叫時,要求實參和形參的型別一致,另外內聯函式會先對實參表示式進行求...

C 內聯函式

1 什麼是內聯函式?內聯函式就是小型函式,犧牲空間來節省函式呼叫的開銷,一般用作比較小的函式,即函式內部沒有迴圈 開關語句等。內聯函式被發明出來就是為了取代c中的巨集,因為巨集是單純的替換而沒有型別檢查所以經常出毛病,2 為什麼要引入內聯函式?當然,引入內聯函式的主要目的是 解決程式中函式呼叫的效率...

C 內聯函式

1 什麼是內聯函式?2 為什麼要引入內聯函式?3 為什麼inline能取代巨集?4 內聯函式和巨集的區別?5 什麼時候用內聯函式?6 如何使用內聯函式?7 內聯函式的優缺點?8 如何禁止函式進行內聯?9 注意事項 1 什麼是內聯函式?內聯函式是指那些定義在類體內的成員函式,即該函式的函式體放在類體內...