zoukankan      html  css  js  c++  java
  • 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;
        };
  • 相关阅读:
    c#下实现ping操作
    DevExpress 经典常用功能代码收集
    WPF – 使用触发器
    XtraGrid使用方法
    [读书笔记]STL源码剖析
    [微软面试100题]6170
    [读书笔记]Thinking in C++
    [转][算法]google page rank算法
    [微软面试100题]7180
    [转][算法]链接分析算法之:HITS算法
  • 原文地址:https://www.cnblogs.com/zxouxuewei/p/5728413.html
Copyright © 2011-2022 走看看