1、概念
- 用inline修饰的函数叫做内联函数,编译时编译器会在调用内联函数的地方展开,没有函数压栈的开销,可以提高程序的运行效率。
2、特性
- 内联函数时一种以空间换取时间的做法。
- 内联函数对编译器而言只是一个建议,编译会自动优化,若定义函数体太大,编译器优化会忽略调内联。
- 内联函数在编译时展开,宏函数在预编译展开。
3、内联函数的优缺点
- 优点:与宏函数一样在被调用处代码展开,省去了压栈/销毁,提升运行速度;与宏定义相比会做安全检查;
- 缺点:代码膨胀,若函数代码较多,不宜用内联函数;
注意:一般写在头文件,使用使直接调用头文件。