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

  • 可以看出,内联函数实际上还是一个传值调用,但是 宏定义确实只是 简单的替换而已。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章