为什么内联构造函数和析构函数在 C++ 中不是一个好主意?

2024-01-24

我记得在一本 C++ 书籍中读过(很久以前),使用内联构造函数和析构函数并不是一个好主意,尤其是对于派生类。 我知道内联会导致对象代码膨胀,但是是否有其他设计考虑因素会阻止内联构造函数和析构函数?当然,大多数编译器可能会拒绝内联并继续创建函数体,但如果他们要内联,可能需要付出什么代价?


编译器可以自由地内联您尚未声明为内联的代码,也可以自由地不内联您已声明为内联的代码。我见过编译器做这两件事。因此,inline 关键字的含义并不像大多数人所认为的那样。它的含义是允许一个定义规则的例外,因此您可以将函数等放入头文件中而不会出现链接器错误。

所以这个建议是垃圾,让编译器决定什么最好内联,什么不最好。将内联放在您需要的地方以防止链接器错误,仅此而已。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么内联构造函数和析构函数在 C++ 中不是一个好主意? 的相关文章

随机推荐