C++ 内联函数

C++ 内联函数

  • 功能:

    • 牺牲必定的内存空间使得相应函数调用变成相应函数代码替换以达到节约时间的目的
  • 使用方法:

    • 在函数声明前加上关键字 inline
    • 在函数定义前加上关键字 inline
    • 一般作法:省略原型,将整个定义放在本应提供原型的地方
      inline funcType funcName(...) {...}
      

        

  • 使用环境:

    • 执行函数代码的时间相对处理函数调用机制的时间不长
    • 函数常常被调用
  • 注意事项:

    • inline 是 C++ 新增的特性。c++

    • 内联函数不能递归
    • 分清 C++ 内联函数和 C 宏替换的功能差别:
      • 若是 C 语言的宏执行了相似函数的功能,应考虑将他们转换为 C++ 内联函数
        #define SQUARE(X) X*X
        b=SQUARE(4.5+7.5); //is replaced by b=4.5+7.5*4.5+7.5;
        c=SQUARE(c++); //is replaced by c=c++*c++
        
        inline  int SQUARE(int a, int b) { return a*b; }
        b=SQUARE(4.5+7.5); //is equal to b=(4.5+7.5)*(4.5+7.5)
        d=SQUARE(c++); //is equal to d=c*c; c=c+1
相关文章
相关标签/搜索