1.定义
使用inline修饰的声明或实现的函数
建议声明和实现都增加inline修饰
2.特点
a.直接将代码展开,增大代码体积
b.执行过程中调用函数时就不存在栈空间的开辟和回收,避免函数调用,提高效率
3.使用场景
a.函数代码体积不大(最好不超过10行),频繁调用的函数
b.递归函数一般不会被编译器内联
4.内联函数与宏
#define add(v1, v2) (v1 + v2)
inline int sum(v1, v2)
{return v1 + v2);}
1. 都可以减少函数调用的开销
2. 对比宏,内联函数多了语法加检测和函数的特性
3. 宏的本意是取代
int a = 10;
int b = add(++a); //用宏结果是24,add(11) (++a + ++a) ---->12+12
int c = sum(++a); //结果是22