为什么 inline 函数经常使用 static 修饰

2023-12-14 16:15:26

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

个人理解:

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

文章来源:https://blog.csdn.net/HayPinF/article/details/134994076
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。