原创博客:转载请标明出处:http://www.cnblogs.com/zxouxuewei/
内置函数
调用函数时需要一定的时间和空间的开销。一般,函数调用包括5部分:
1、程序先执行函 数调用之前的语句;
2、流程的控制转移到被调用函数的入口处,同时进行参数传递;
3、执行被调用函数中函数体的语句;
4、流程返回调用函数的下一条指令 处,将函数返回值带回;
5、接着执行主调函数中未执行的语句。这就要求在转到被调用函数之前,要记下当时执行的指令地址,还要保护“现场”,以便在函数调 用之后继续执行。在函数调用之后继续执行。在函数调用之后,流程继续返回到先前记下的地址处,并且根据记下的信息“回复现场”,然后继续执行。这些都需要 话费一定的时间,如果有的函数需要频繁使用,则所用时间会很长,从而降低了程序执行的效率。
C++中提供了一种高效率的方法,即在编译时将所调用函数的代 码嵌入到主调函数中,而不是将流程流转出去。这种函数成为内置函数,又称内联函数。指定内敛函,只需要在函数的首行左部添加一个关键字inline即可。
#include <iostream> using namespace std; inline int max(int,int, int); //声明函数,注意左端有 inline int main() { int i=10,j=20,k=30,m; m=max(i,j,k); cout<<″max=″<<m<<endl; return 0; } inline int max(int a,int b,int c) //定义max 为内置函数 { if(b>a) a=b;//求 a,b,c中的最大者 if(c>a) a=c; return a; }
使用内敛函数可以节省运行时间,但是却增加了目标程序的长度。因此一般只将规模很小(一般为5个语句以下)而是用频繁的函数声明为内联函数。内联函数中不能包括复杂的控制语句,如循环语句和switch语句。
class Student { public : void display( ) { cout<<″num:″<<num<<endl;cout<<″name:″ <<name<<endl;cout<<″sex:″<<sex<<endl;} private : int num; string name; char sex; };
时间: 2024-10-05 21:05:54