C++ 行內函式
-
功能:
- 犧牲一定的記憶體空間使得相應函式呼叫變成相應函式代碼替換以達到節約時間的目的
-
使用方法:
- 在函式宣告前加上關鍵字 inline
- 在函式定義前加上關鍵字 inline
- 通常做法:省略原型,將整個定義放在本應提供原型的地方
inline funcType funcName(...) {...}
-
使用環境:
- 執行函式代碼的時間相對處理函式呼叫機制的時間不長
- 函式經常被呼叫
-
注意事項:
-
inline 是 C++ 新增的特性,
- 行內函式不能遞回
- 分清 C++ 行內函式和 C 宏替換的功能差異:
- 如果 C 語言的宏執行了類似函式的功能,應考慮將他們轉換為 C++ 行內函式
#define SQUARE(X) X*X b=SQUARE(4.5+7.5); //is replaced by b=4.5+7.5*4.5+7.5; c=SQUARE(c++); //is replaced by c=c++*c++ inline int SQUARE(int a, int b) { return a*b; } b=SQUARE(4.5+7.5); //is equal to b=(4.5+7.5)*(4.5+7.5) d=SQUARE(c++); //is equal to d=c*c; c=c+1
- 如果 C 語言的宏執行了類似函式的功能,應考慮將他們轉換為 C++ 行內函式
-
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/36235.html
標籤:C++
上一篇:定位new運算式與顯式呼叫解構式
