编译器可以静默地从 const 转换为 const 和,反之亦然吗?

May the compiler silently convert from const to const& and vice versa?

本文关键字:const 反之亦然 转换 静默 编译器      更新时间:2023-10-16

这背后的想法是,值不会改变,这样我们就不需要关心内存地址了。

当然,也有一些特殊情况,例如(可能只是(多态性,这是不可能的。

const&如果将对象的值副本替换为const,则可能不会获取对象的值副本。

如果这有副作用,则不允许编译器进行替换。

在这方面,该规则与返回值优化不同,在返回值优化中,即使存在副作用,也允许删除值副本。