一、概括
当程序执行函数调用时,系统要建立栈空间,保护现场,传递参数以及控制程序执行的转移等等,这些工作需要系统时间和空间的开销。有些情况下,函数本身功能简单,代码很短,但使用频率却很高,程序频繁调用该函数所花费的时间却很多,从而使得程序执行效率降低。
为了提高效率,一个解决办法就是不使用函数,直接将函数的代码嵌入到程序中。但这个办法也有缺点,一是相同代码重复书写,二是程序可读性往往没有使用函数的好。
为了协调好效率和可读性之间的矛盾,C++提供了另一种方法,即定义内联函数,方法是在定义函数时用修饰词inline。
二、例子
# include <iostream.h>
inline IsNumber(char ch)
{
return ch>=′0′&&ch<=′9′?1:0;
}
void main()
{
char ch;
while(cin.get(ch), ch!= ′\n′)
{
if (IsNumber(ch)) cout<<″是数字字符 ″<<endl;
else cout<<″不是数字字符 ″<<endl;
}
} //因使用频度很高,说明为内联函数。