一、内聯函數的定義:
1、内聯函數定義可在函數頭前面或者傳回值類型後面加上關鍵字inline。
如:
inline int max(int a, int b)
{
return a >= b?a:b;
}
int inline max(int a, int b)
{
return a >= b?a:b;
}
2、内聯函數的定義必須位于使用内聯函數的檔案内,不然無法達到内聯的使用效果。
3、内聯函數不适合為複雜的函數使用,如使用了遞歸,複雜條件判斷語句等等。(代碼最好不要超過5、6行)。
二、内聯函數實質:
1、内聯的效果和宏替換的效果類似。并且,使用内聯可以基本替代宏替換,不同的是宏替換實作是在程式預編譯的時候就進行了替換,而内聯則是在函數編譯的時候進行了代碼鑲嵌的過程。此外内聯函數是一個真正的函數,編譯器會對内聯函數進行安全檢測。
2、内聯函數實際的效果是節省時間,消耗空間。
3、内聯函數可以提高函數使用的效率。但對于大型項目影響不大。
^_^