一:内联函数
1.内联函数取代宏,解决宏的二义性但同样都是代码展开(宏在编译前预处理,内联在编译时展开,都不占用运行时间)。
2.频繁调用的短小的代码写成内联函数可以显著提高效率,但会生成较大的文件,因为内联函数在代码编译成汇编之前展开,所以频繁调用的内联函数在展开后就使代码量增多,从而生成较大的文件,但因为内联函数不存在参数的调用保存现场之类函数调用的操作,所以比函数节省时间,使用内联函数就是用空间换取时间。
3.注意:内联函数中不建议出现复杂代码例如:循环,选择等,因为复杂代码的执行时间远大于函数调用浪费的时间,相比之下并没有快多少反而复杂代码一旦多次调用展开后会使代码量大幅度增加,导致牺牲了过多的空间换取了很少的效率,故不建议复杂函数声明成内联函数。
内联函数可以方便代码的管理又不至于浪费太多的时间去做函数调用