C 內聯函式

2022-06-29 09:09:08 字數 991 閱讀 6222

內聯函式是指用inline關鍵字修飾的函式。在類內定義的函式被預設成內聯函式。

實質

就是當需要呼叫乙個內聯函式時,不是去呼叫而是將該函式**整段插入到需要使用該內聯函式的地方,從而省去呼叫過程,提高了執行速度。

缺點

由於每當**呼叫到內聯函式,就需要在呼叫處直接插入一段該函式的**,所以程式的體積將會增大,消耗更多空間。

內聯函式最適用於小函式使用,例如訪問私有資料成員。 這些一行或兩行**的「訪問器」函式的主要用途是返回有關物件的狀態資訊;短函式對函式呼叫的開銷很敏感。 較長的函式在呼叫/返回序列方面花費的時間可成比例地減少,而從內聯的獲益也會減少。

1

//when_to_use_inline_functions.cpp

2class

point

3;

1314 inline unsigned&point::x()

15

18 inline unsigned&point::y()

19

22int

main()

23

假設操作座標是此類客戶端中相對常見的操作,則將兩個訪問器函式(前面示例中的xy)指定為「內聯」通常將節省下列操作的開銷:

內聯函式與巨集:

雖然內聯函式類似於巨集(因為在編譯時進行呼叫會展開函式**),但內聯函式是通過編譯器分析的,而巨集是通過預處理器展開的。 因此,存在很多重大差異:

如果出現以下情況,編譯器無法對函式進行內聯:

C 內聯函式

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

C 內聯函式

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

c 內聯函式

1 什麼是內聯函式?內聯函式是指那些定義在類體內的成員函式,即該函式的函式體放在類體內。2 為什麼要引入內聯函式?當然,引入內聯函式的主要目的是 解決程式中函式呼叫的效率問題。另外,前面我們講到了巨集,裡面有這麼乙個例子 define abs x x 0?x x 當 i出現時,巨集就會歪曲我們的意思...