当前位置:   article > 正文

为什么 inline 函数经常使用 static 修饰_c语言inline的前面必须加static吗

c语言inline的前面必须加static吗

内联函数探究 - noinline、always_inline,static inline,内联展开 - 嵌入式C语言自我修养 | 宅学部落

个人理解:

头文件里声明了inline的函数,编译期不一定将其内联展开,而仍将其编译为函数对象,如果不加 static 文件作用域修饰,当多个 cpp 文件都#include 该inline函数时,会在多个 cpp 文件内都定义函数对象,从而链接时报重定义错误。加上 static,即使在多个 cpp 文件内都定义该函数对象,也都是限定文件作用域的,不会产生重定义;

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

闽ICP备14008679号