内联函数也称内嵌函数,它主要解决程序的运行效率。
#####################问题#########################################
函数调用需要建立栈内存环境,进行参数传递,并产生程序执行转移,这些转移都需要时间开销。
有些函数在程序中使用率较高,但代码却很短。
我们可以在程序当中用表达式替换函数调用,但是降低了函数的可读性。
######################解决方法#################################################
使用内联函数
内联函数必须在被调用前声明或定义。因为内联函数的代码必须在被替换之前已经声称被替换的代码。
注意:
1.在内联函数内不允许用循环语句和开关语句。递归函数是不能用来做内联函数的。
2.内联函数的定义必须出现在内联函数第一次被调用之前。
3.内联函数只适合于1-5行的小函数。对于一个含有很多语句的大函数,函数调用和返回的开销相对来说是微不足道的。
#include <iostream.h> 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; }