内联函数
这里先讲讲为什么C++要引入函数的机制。引入函数可以减少代码量:程序中多次用到某一功能,若没有函数,则用到该功能时就要把相应的代码段列出。这会导致代码量很大,引入了函数机制后,把常用功能写到一个函数中去,用到该功能时写一行调用该函数的代码就可以做到。
但是,函数的调用时要花费一定时间和空间的。特别是对于调用频繁但代码量又不大的函数而言,会降低程序的效率。C++的解决方式是将这种函数作为内联函数,在编译时,用内联函数的函数体替代调用。这也是内联函数与一般函数的区别。
#include <iostream>
using namespace std;
inline int max_int(int,int);
int main()
{
int i,j;
int (*pf)(int,int);
pf=max_int;
cout<<"请输入两个整数:"<<endl;
cin>>i>>j;
int max=(*pf)(i,j);
cout<<"max="<<max<<endl;
return 0;
}
inline int max_int(int x,int y)
{
return x>y?x:y;
}
上例中第3行是内联函数的声明,在一般函数声明的最前面加'inline'。第15行是内联函数的定义,也要加'inline'。注意:
1.内联函数体中,不能有复杂的结构,如循环和switch等。
2.内联函数体不宜过大,只适合5行以内的小函数。
3.递归函数不能是内联函数。