C++內聯函數
C++內聯函數是強大的概念,它通常與類使用。如果一個函數是內聯,編譯器在每個點的函數調用在編譯時放置該函數的代碼的副本。
任何改變,內聯函數可能需要重新編譯函數的所有客戶端,因為編譯器將需要更換一次所有的代碼,否則將繼續使用舊功能。
內聯函數,將關鍵字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