11. C++ inline函数消除重定义

发布时间:2024年01月04日
inline

由于inline函数,C++中调用一个函数并不意味着生成的目标代码里也一定会做一次真正的函数调用。编译器可以判断一个函数是否需要inline,因此inline关键字在源文件中往往不需要。当然,**在头文件中还是需要,为了防止链接器抱怨重定义。**如果编译器无法内联展开,每个编译单元都会生成一份inline函数的目标代码,然后链接器从多份代码中任选一份保留,其余则丢弃,如果编译器能够展开为内联函数,那就不必单独生成目标代码(除非使用函数指针指向它)。

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