gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 22:16:13 27 4
gpt4 key购买 nike

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

最佳答案

编译器可以自由地内联您未声明为 inline 的代码,也可以自由地不内联您已声明为 inline 的代码。我已经看到编译器做了这两件事。因此,inline 关键字并不像大多数人认为的那样。它的意思是允许一个定义规则的异常(exception),所以你可以把函数等放在一个头文件中,而不会出现链接器错误。

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

关于c++ - 为什么内联构造函数和析构函数在 C++ 中不是一个好主意?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7138234/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com