c++内置函数---7

时间:2022-03-03 23:03:53

原创博客:转载请标明出处: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=,j=,k=,m;
m=max(i,j,k);
cout<<″max=″<<m<<endl;
return ;
}
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;
};