内联
- 关键字:inline
用inline修饰的函数叫做内联函数。
- 优点:内联不会开辟函数栈帧
- 缺点:内联不适合代码量多且频繁调用的函数
代码量比较大且频繁调用的函数使用内联会导致代码膨胀(举个例子:本来是五行代码,使用内联函数直接增加了大量的代码行),影响程序的运行效率
正确的使用内联能有效的提高程序运行的效率
一个函数是内联函数,就会在调用该函数时,直接把函数执行的指令展开,如果不是内联函数,在调用函数时会将call函数的地址
注:内联说明是向编译器发出请求,编译器可以忽略该请求
内联机制适用于优化规模小,流程直接,频繁调用的函数
内联的声明与定义
同一个函数在两个文件中重复包含导致的链接问题,采用以下三种方式可以解决该问题
- 声明和定义分离
- static,链接属性,只在当前文件可见
- 内联
大函数考虑1,2方法,小函数考虑inline
auto不能作为参数,也不能定义数组