一、内联函数
1.内联函数的作用
减少调用函数产生的消耗,提升程序运行效率
inline int add(int a,int b)
{ return a+b; }
int main()
{ add(1,2); }
//加入inline后此处的add(1,2)展开变成a+b;
在自定义函数前加inline,就是定义内联函数,定义后在其他函数中再次调用这个内联函数时就会将它在这个函数中直接展开,不会再建立栈帧从而产生消耗
2.定义时的注意事项
不建议内联函数定义与声明分离,会导致链接错误
二、内联函数与宏函数区别
1.宏函数在预处理阶段进行了替换,内联函数在编译阶段展开
2.宏函数会全部展开,内联函数内语句如果过多(大约大于20行)或使用了递归,系统会进行优化不会展开
3.宏函数可读性差不可调试,内联函数可调试