C++內聯函數

1、內聯函數的使用,幾個注意點;與#define對比

  • 在函數聲明和定義前面加上inline ,而不是在調用的時候
  • 是否成爲內聯函數看編譯器是否同意, 比如使用的是遞歸調用函數,編譯器不會將這個函數作爲內聯函數。
  • 可以理解爲將函數原型替換調用代碼,但實際上又和define不同
#define cal2(a,b)  a*b

inline int cal1(int a, int b)
{
    return a* b;
}
int c = cal1(4 + 1, 9 + 1);
cout << " 內聯函數 : " << c << endl;

int d = cal2(4 + 1, 9 + 1);
cout << " 宏定義   : " << d << endl;

image

  • 可以看出,內聯函數實際上還是一個傳值調用,但是 宏定義確實只是 簡單的替換而已。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章