學習筆記 內聯函式

2021-06-29 03:40:47 字數 523 閱讀 6484

1.      什麼是內聯函式?

內聯函式,從形式上看就是普通函式首部前新增了乙個inline,形式如下

inline(引數列表)

//語句

2.      為什麼引進內聯函式?

內聯函式與普通函式的區別在於,內聯函式的呼叫不會轉移程式控制權,而是在呼叫點處進行」內聯」展開函式體,類似於巨集展開(區別在於巨集展開是由預處理器負責,而內聯展開由編譯器負責)。這樣一來,可避免普通函式呼叫帶來的開銷。

3.      什麼情況適合用內聯函式?

當**量只有幾行(一般5行以內),語句簡單的時候。

因為,如果**量大,會導致展開後的程式出現大量的重複「內聯**」,會消耗空間。

內聯函式一般放置於標頭檔案中。程式中多個原始檔關於乙個內聯函式的定義必須保持一致。

4.幾點注意事項

遞迴函式不能作為內聯函式(顯然不能,總不能遞迴展開**吧)

含有控制語句和開關語句的不能作為內聯函式。

「inline」只是乙個請求,編譯器可根據實際情況,選擇強制函式為普通函式。

學習筆記 C 內聯函式

對於乙個頻繁使用的短小函式,在c語言中應該用巨集定義實現,在c 中用inline實現。巨集定義與內聯函式的不同用法000。在c語言中,寫一手漂亮的巨集定義是非常有必要的,方式出錯 提高 的移植性和可讀性等。尤其是一些常用或通用的功能函式或者 段,這些功能既可以寫成函式,也可以封裝為巨集定義。就功能性...

筆記 內聯函式

內聯函式 示例1 include using namespace std inline int func int 定義乙個類的內聯函式 int func int x int main 示例2 include using namespace std class a private int x void...

c 學習筆記 內聯函式(inline)

在c 中呼叫函式時,電腦要做很多事 呼叫前要先儲存暫存器,並在返回時恢復 而且還有實參到形參的傳值 如果乙個函式在原始碼中多次被呼叫,這樣就會很浪費計算機的資源,但是如果我們將這個函式宣告為內聯函式,就可不必有這樣的擔心了。例如這樣乙個函式 int max int x,int y return x ...