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

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

  • 相关阅读:
    [PHP] laravel框架注意bootstrap/cache
    [git] git拉取远程分支代码
    Prometheus监控系统(4)pushgateway及自定义脚本
    k8s 学习
    pxc /Galera Cluster详解
    Percona Monitoring and Management
    etcd获取所有key
    kubernetes Pod驱逐迁移drain用法
    kubernetes etcd数据管理
    办公环境下k8s网络互通方案
  • 原文地址:https://www.cnblogs.com/spock12345/p/11551147.html
Copyright © 2011-2022 走看看