• c++内置函数---7


     原创博客:转载请标明出处: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;
        };
  • 相关阅读:
    洛谷 P1231 教辅的组成
    BZOJ 2190: [SDOI2008]仪仗队
    Codeforces GYM 100741A . Queries
    COGS 1298. 通讯问题
    洛谷 P2604 [ZJOI2010]网络扩容
    codevs 1227 方格取数 2
    codevs 1004 四子连棋
    洛谷 P2319 [HNOI2006]超级英雄
    洛谷 P2153 [SDOI2009]晨跑
    插入排序
  • 原文地址:https://www.cnblogs.com/zxouxuewei/p/5728413.html
Copyright © 2020-2023  润新知