• C++内联函数


    1. 内联函数的定义

      内联函数在定义时与普通函数基本一致,只是在函数值的类型前加”inline“关键字,定义方法:

        inline 函数值的类型 函数名 (形参及其类型列表)

        { 函数体 }

    本人自学,教材可能有点老,有问题的话求大家指正!!!谢谢!!!

    2. 内联函数与普通函数的区别和联系

    • 定义内联函数时增加了 inline 关键字;
    • 两者在程序中调用的方式和方法相同;
    • 当程序调用一个内联函数时,将该函数的代码直接插入到调用点执行。所以,调用过程中不存在程序流程的跳转和返回问题;普通函数反之;
    • 从调用机理看,内联函数可以加快程序代码的执行速度和效率并减少调用开销,但是增加了程序代码。

    3. 内联函数的限制

    • 内联函数的函数体内不能含有复杂的结构控制语句,如果含有,则编译程序将该函数视该函数同普通函数那样产生函数调用代码;
    • 递归函数不能被用做内联函数;
    • 内联函数中不能说明数组;
    • 内联函数一般适合于只有1~5行语句的小函数。

    例题:定义一个求两个整数中较小值的函数min(),要求定义成内联函数,然后在main函数中进行调用。

     1 #include<iostream>
     2 using namespace std;
     3 
     4 inline int min(int a, int b){ return a<b?a:b;}
     5 
     6 int main()
     7 {
     8         int a=2;
     9         int b=7;
    10         int c=4;
    11         cout << "a,b:" << min(a,b) << endl;
    12         cout << "b,c:" << min(b,c) << endl;
    13         cout << "c,a:" << min(c,a) << endl;
    14         return 0;
    15 }
    16 
    17 //菜鸟,求大家批评指教,代码编写习惯和规范等等!!!谢谢!!!

      运行结果如下: 

        a,b:2

        b,c:4

        c,a:2

    本人自学,教材可能有点老,有问题的话求大家指正!!!谢谢!!!

  • 相关阅读:
    EL
    Cookie & Session
    JSP !
    Request & response
    The use of servlet
    Details about HTTP
    About Tomcat!
    idea提升效率的高频快捷键!(持续更新中)
    Mysql数据库的使用经验总结
    Myeclipse以及Genymotion工具的使用以及java后台开发小结
  • 原文地址:https://www.cnblogs.com/MichaelBin/p/4513186.html
Copyright © 2020-2023  润新知