一、本章重点
- 为什么要有inline函数(内联函数)?
- 什么是内联函数?
- 为啥所有函数不都改成内联?
- 内联函数的使用场景
- 内联函数注意事项
二、Inline函数
2.1为什么要有inline函数(内联函数)?
为了替换c语言中宏函数,C++引入了inline函数。
C++为啥不继续使用宏函数呢?
宏函数的优点:
1.没有函数栈帧的开销,效率提升。
宏函数的缺点:
1.宏替换在预处理阶段完成,不能调试。
2.可读性差,不易维护,容易误用
3.没有类型安全的检查
2.2什么是内联函数?
内联函数即在函数定义的前面加上inline,那么这个函数就是内联函数
这个说法有点不准确,因为inline的作用是建议编译器将该函数定为内联函数,但在某些情况下,编译器会忽视你的建议。
内联函数的作用:在函数调用的地方展开函数体,减少函数栈帧的开销,提升效率。
如: