C++plus笔记5

来源:互联网 发布:linux后台运行命令 编辑:程序博客网 时间:2024/05/19 13:29

1、内联函数的使用,几个注意点;与#define对比

  • 在函数声明和定义前面加上inline ,而不是在调用的时候
  • 是否成为内联函数看编译器是否同意, 比如使用的是递归调用函数,编译器不会将这个函数作为内联函数。
  • 可以理解为将函数原型替换调用代码,但实际上又和define不同
#define cal2(a,b)  a*binline 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

  • 可以看出,内联函数实际上还是一个传值调用,但是 宏定义确实只是 简单的替换而已。
原创粉丝点击