【发布时间】:2012-12-11 15:55:47
【问题描述】:
在 C++ 中,可以将临时对象绑定到 const 引用:
struct A {};
int main() {
const A& a = A();
}
有什么方法可以为某些特定的 A 类禁用此功能,从而无法将此类的临时绑定到 const 引用?
【问题讨论】:
-
只是出于好奇,你为什么要这么做?
-
我不需要那个,只是出于好奇问=)
-
这个例子很傻,但你可能想直接将引用绑定到某个对象,即使引用是 const。
-
隐藏在将
const &绑定到右值的机制背后的蠕虫罐头(终身延长)在此处进行了更详细的讨论:quuxplusone.github.io/blog/2020/03/04/rvalue-lifetime-disaster
标签: c++ reference object-lifetime