1.内联函数的概念
就是以inline修饰的函数叫做内联函数,在编译时C++编译器会在调用内联函数的地方进行展开,没有函数调用建立栈帧的开销,可以提升程序的运行效率。
2.内联函数的特性
1.inline是一种用空间换取时间的做法,如果编译器将函数当作内敛函数来处理时,在编译阶段,会使用函数替换函数来进行调用。
2.inline函数对于编译器只是一种建议,编译器也可以忽略你的建议,所以来说内联函数一般运用于规模小,流程直接,频繁调用的函数
3.内联函数不建议声明和定义分离来使用,因为一旦分开使用,就没有函数地址了,链接过程就会找不到
3.思考
我们在C中学到了宏定义的方式 C++中又学习了内联函数,那么C++中哪些技术可以代替宏?
1.常量定义 换用const enum
2.短小函数定义 换用内联函数
复习:
宏的优点:a.可以提高运行效率 b.减少栈帧的创建
宏的缺点:a.可读性差 b.没有类似安全性检查 c.不方便调用