在 C++ 中,我應該何時為函式/方法編寫關鍵字“inline”?


在 C++ 中,**inline** 關鍵字用於不同的位置。用於建立內聯變數或內聯名稱空間,以及用於建立內聯方法或函式。

C++ **inline** 函式是一個強大的概念,通常與類一起使用。如果一個函式是內聯的,則編譯器會在編譯時將該函式程式碼的副本放置在每個呼叫該函式的位置。

對行內函數的任何更改都可能需要重新編譯該函式的所有客戶端,因為編譯器需要再次替換所有程式碼,否則它將繼續使用舊的功能。

要內聯一個函式,請在函式名前放置關鍵字**inline**,並在進行任何對該函式的呼叫之前定義該函式。如果定義的函式超過一行,編譯器可能會忽略內聯限定符。

類定義中的函式定義是行內函數定義,即使沒有使用**inline**說明符。

以下是一個示例,它使用行內函數返回兩個數字中的最大值:

示例

#include <iostream>
using namespace std;
inline int Max(int x, int y) {
   return (x > y)? x : y;
}
// Main function for the program
int main() {
   cout << "Max (20,10): " << Max(20,10) << endl;
   cout << "Max (0,200): " << Max(0,200) << endl;
   cout << "Max (100,1010): " << Max(100,1010) << endl;
   return 0;
}

輸出

Max (20,10): 20
Max (0,200): 200
Max (100,1010): 1010

更新於: 2019-07-30

153 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.