内联函数也称内嵌函数,它主要解决程序的运行效率。 #####################问题######################################### 函数调用需要建立栈内存环境,进行参数传递,并产生程序执行转移,这些转移都需要时间开销。 有些函数在程序中使用率较高,但代码却很短。 我们可以在程序当中用表达式替换函数调用,但是降低了函数的可读性。 ######################解决方法################################################# 使用内联函数 内联函数必须在被调用前声明或定义。因为内联函数的代码必须在被替换之前已经声称被替换的代码。 注意: 1.在内联函数内不允许用循环语句和开关语句。递归函数是不能用来做内联函数的。 2.内联函数的定义必须出现在内联函数第一次被调用之前。 3.内联函数只适合于1-5行的小函数。对于一个含有很多语句的大函数,函数调用和返回的开销相对来说是微不足道的。
#include inline int isnumber(char); // inline 函数声名 void main() { char c; while((c=cin.getc())!= '\n ') { if( isnumber(c) ) //调用一个小函数 cout < < "you entered a digit \n "; else cout < < "you entered a non-digit \n "; } } int isnumber (char ch) //此处无inline,视为inline { return (ch> = '0 '&& ch <= '9 ')?1:0; }