Item30 透彻了解inlining的里里外外

inline,看起来像函数,可以调用它们又不需要一般函数调用的开销。

inline的理念:对此函数的每一个调用都以函数本体替换。

inline声明方式:

  • 隐喻声明:在类声明的.h中定义并实现
  • 明确声明:在函数定义式前加上关键字“inline”

inline函数通常一定被置于头文件内,因为大多数构建(build)环境在编译过程中进行inlining。为了将一个函数调用替换为被调用函数的本体,编译器必须知道函数内容。

inline函数无法随函数库的升级而升级,即inline函数被改变,之前所有调用的程序,都必须重新编译。

将大多数inlining限制在小型、被频繁调用的函数身上。这可使日后的调试过程和二进制升级更容易,也可使潜在的代码膨胀问题最小化,使得程序的速度提升机会最大化。

猜你喜欢

转载自blog.csdn.net/u013015629/article/details/107551090
30