一、简介
1、内联函数可有效提高程序代码的重用率,又便于修改与维护;
2、但调用函数频繁时,也会降低程序的执行效率。
3、若函数功能简单、规模较小且使用频繁,可将其设计为内联函数。
二、原理
1、内联函数是一种实现了嵌入功能的函数;
2、在被调用时不发生控制转移,而是在编译时将函数体嵌入到调用处
3、将函数的调用转换成代码的顺序执行,节省了在参数传递、控制转移等方面所占用的系统资源,减少程序的运行时间,提高程序的运行速度。
三、应用
1、格式:
inline 类型说明符 被调函数名(类型说明的形参列表)
2、实例——求圆的面积
#include <iostream>
//#define P 3.14
const double P=3.14;
using namespace std;
//定义内联函数,计算圆形的面积
inline double area(double R)
{
double S=P*R*R;
return S;
}
int main() //主函数
{
double r(3.0); //r为圆的半径
//上面是一个变量初始化语句,等价于 double r=3.0;
double Area; //定义面积
Area=area(r); //调用内联函数 求面积
cout<<Area<<endl; //输出面积值
return 0;
}
运行结果:28.26
四、注意
1、内联函数内不能有循环语句、switch语句和复杂嵌套的if语句;
2、内联函数的定义必须出现在第一次被调用之前定义;
3、对内联函数不能进行异常接口声明;
4、内联函数不能进行递归调用。