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

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

  • 相关阅读:
    Kafka 再均衡监听器示例
    Spring boot中异步线程池
    【Java&Go并发编程系列】4.等待一组并发任务完成——CountDownLatch VS sync.WaitGroup
    Redis常用命令对应到Redisson对象操作
    js清空缓存,ajax
    phpexcel用法 转、
    composer 使用
    转:git操作
    手机微信内支付
    微信扫码支付
  • 原文地址:https://www.cnblogs.com/spock12345/p/11551147.html
Copyright © 2011-2022 走看看