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

时间:2017-11-14 14:14:03

标签: c++

这背后的想法是,价值不会被改变,因此我们不需要关心记忆地址。

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

1 个答案:

答案 0 :(得分:3)

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

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

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