當前位置:編程學習大全網 - 網絡軟體 - inline函數和壹般的函數有什麽不同

inline函數和壹般的函數有什麽不同

inline函數和壹般的函數的區別:

1、定義次數

inline函數是允許在多個cpp中多次定義的,而壹個可執行文件的cpp文件中壹個函數只能被定義壹次。如果妳把函數定義在壹個.h文件中並讓兩個cpp包含就會造成這個函數分別在兩個cpp中被定義產生錯誤。

2、執行代碼

內聯inline類似於宏,使用inline時,代碼在執行前,編譯器先將調用的inline函數替換城那個函數的執行代碼。

3、函數類型

inline函數用於定義函數。在形式上類似於壹個函數,但在使用它時,僅僅只是做預處理器符號表中的簡單替換,因此它不能進行參數有效性的檢測,也就不能享受C++編譯器嚴格類型檢查的好處。

擴展資料:

內聯函數的內涵:

比如?

int g(int x)?

{?

return x + x;?

}?

int f()?

{?

return g();?

}?

這樣f會調用g,然後g返回x + x給f,然後f繼續把那個值返回給調用者。?

如果g是inline的話。f會被直接編譯成。?

int f()?

{?

return x + x;?

}?

相當於把g執行的操作直接融合到f裏。這樣減少了調用g消耗的時間,但同時也增大了f的尺寸。?

這就是inline函數,也就是所謂的內聯函數。?

百度百科-inline

  • 上一篇:增高鞋墊買半墊還是全墊
  • 下一篇:熱氣球原理
  • copyright 2024編程學習大全網