内联函数——精选推荐

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

内联函数
什么是内联函数?
内联函数是C++的增强特性之⼀,⽤来降低程序的运⾏时间。

当内联函数收到编译器的指⽰时,即可发⽣内联:编译器将使⽤函数的定义体来替代函数调⽤语句,这种替代⾏为发⽣在编译阶段⽽⾮程序运⾏阶段。

内联函数作为编译器优化⼿段的⼀种技术,在降低运⾏时间上⾮常有⽤。

内联函数在什么时候使⽤?
在程序中,函数被调⽤的同时也会降低程序的执⾏效率,增加空间和时间上的开销。

因此,对于⼀些功能简单、规模较⼩有使⽤频繁的函数,可以设计为内联函数。

内联函数的定义⽅式:
与普通函数不同的是,定义此函数需要使⽤关键字inline,语法如下:
Inline 类型说明符函数名(含类型说明的形参表)
{
语句序列
}
下⾯我们将通过⼀个例⼦来进⼀步认识内联函数:
\#include\
using namespace std\;
const double PI = 3.14159265358979\;
//内联函数,根据圆的半径计算其⾯积
inline double calArea(double radius)
{
return PI*radius*radius\;
}
int main()
{
double r=3.0\; //r是圆的半径
//调⽤内联函数求圆的⾯积,编译时此处被替换为calArea函数体语句
double area=calArea(r)\;
cout<
运⾏结果\:
28.2743
通常内联函数应该是⽐较简单的函数,结构简单、语句少。

如果将⼀个复杂的函数定义为内联函数,反⽽会造成代码膨胀,增⼤开销。

这种情况下,多数编译器都会⾃动将其转化为普通函数处理。

此外,对⾃⾝进⾏递归调⽤的函数是不能被当做内联函数处理的。

相关文档
最新文档