当前位置:   article > 正文

inline函数_inline的 .h文件需要编译码

inline的 .h文件需要编译码

inline函数 在编译阶在调用点直接代码展开

不生成符号,仅文件内可见

inline函数与宏的区别

​ inline函数在编译阶段 有类检查和安全检查 安全

​ 宏 在预编译阶段 直接进行文本替换 不安全

inline函数和static修饰的函数有什么区别:

​ inline直接代码展开,没有开栈清栈开销

static 有开栈清栈开销 生成符号 local属性 只在本文件可见

因为没有有开栈清栈开销,所以效率高,那为什么不把所有函数设为inline函数呢

inline缺陷:以代码膨胀为代价,换取效率|即以空间换时间

inline函数使用建议:

函数执行开销 << 函数开栈清栈开销 建议使用

函数执行开销 >> 函数开栈清栈开销 不建议使用

inline函数的限制:

1.release模式下有效

2.inline函数只是给编译器的一个建议,结果还是由编译器来决定的

​ 函数中包括 递归,循环,switch 都不会设置

3.inline函数时基于实现的,不是基于声明的

inline关键字应该写在定义前,不能写在声明前

4.inline函数写在.h文件中

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/626955
推荐阅读
相关标签
  

闽ICP备14008679号