首页 > 后端开发 > C++ > 正文

内联成员函数可以在.cpp文件中实现吗?

Susan Sarandon
发布: 2024-10-31 18:36:29
原创
598 人浏览过

 Can Inline Member Functions Be Implemented in a .cpp File?

C 中的内联成员函数:深入探究

内联成员函数在类定义中声明,但在类主体之外实现。虽然它们通常驻留在头文件中,但在某些情况下,将实现放在头文件中是不可行的。

考虑类 A 包含类 B 的实例,并且类 B 声明内联成员的情况函数 getA() 返回 A 的实例。由于循环包含,我们被迫将 getA() 的实现移至 B.cpp 文件。

问题出现了:编译器会内联吗获取A()?根据 C FAQ,内联函数的定义必须位于头文件中,除非它专门在单个 .cpp 文件中使用。在我们的例子中,定义在 B.cpp 中,这意味着 getA() 不会被内联,除非它在 ​​B.cpp 本身中使用。

关于内联关键字的意义,建议只使用类体之外的函数定义中的函数以获得最佳实践。

至于寻找一种在 .cpp 文件中定义内联成员函数的替代方法,不幸的是,据我们所知,还没有一种方法。该定义必须驻留在头文件中,以便编译器执行内联。

以上是内联成员函数可以在.cpp文件中实现吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!