1、什么是内联函数
内联函数的运行机制与常规函数不同。常规函数调用会使程序跳到另一个地址(函数地址),并在函数结束时返回。来回跳跃并记录跳跃位置需要一定的开销。而对于内联函数,编译器将使用函数的定义体来替代函数调用语句,程序无需跳到另一个位置处执行代码,再跳回来。因此,内联函数的运行速度比常规函数快,但代价是需要占用更多的内存,是一种空间换取时间的做法。
2、内联函数的优缺点
- 优点:当函数体比较小的时候, 内联该函数可以令目标代码更加高效,它避免了一个函数执行完返回原现场的开销,提高你程序的运行速度。
- 缺点:内联函数增大了可执行程序的体积;C++内联函数的展开是编译阶段,意味着如果内联函数发生了改动,需重新编译代码。
3、什么时候使用内联函数
简单来记:当函数只有 10 行甚至更少时才将其定义为内联函数,比如用内联函数来替换带参数的宏。
内联函数带来的效率并不大,不用也没关系!!!