zoukankan      html  css  js  c++  java
  • 内联函数

    关键词 inline

    inline int func(int arg1,int arg2){

      //实现

      return 0;

    }

    作用:不是在调用时发生控制转移,而是在编译时将函数体嵌入在每一个调用处,适用于功能简单,规模较小又使用频繁的函数。递归函数无法内联处理,内联函数不能有循环体,switch语句,不能进行异常接口声明。

    注意:

    1.实现在类内部的成员函数默认是内联函数(隐式内联)

    class demo{

      void fun(){//隐式内联

        ///实现

      }

    }

    2.类内声明,类外实现的函数,无论在声明还是实现时使用关键字inline均可将函数声明为内联函数(显式内联)

    class demo{

      inline void fun();//显式内联

    }

    void demo::fun(){

      //实现

    }

    class demo{

      void fun();

    }

    inline void demo::fun(){//追加显式内联

      //实现

    }

    3.使用内联函数关键字inline不意味着这个函数一定能内联处理,除了递归函数,编译器会自动判断一个函数是否适合声明为内联函数,如果内联会造成代码膨胀,增大开销(例如一个特别长,功能特别复杂的函数被声明为内联函数),则会将其转化为普通函数进行处理。

    即,你可以建议将一个函数声明为内联函数,但听不听要看编译器自己的判断。

  • 相关阅读:
    bootstrap学习(全局CSS样式)(二)
    第八周
    bootstrap学习(全局CSS样式)(一)
    变量的解构赋值 ES6
    ES6的let和const命令
    github之怎么上传本地项目
    浅谈js对象及对象属性
    解决sublime text3 文件名,小框框的办法
    web04--cookie
    web03--session
  • 原文地址:https://www.cnblogs.com/spock12345/p/11551147.html
Copyright © 2011-2022 走看看