为什么不能将右值转换为左值?但是,可以在相反的方向进行转换。从技术上讲,右值确实有一个内存地址,不是吗?
最佳答案
你可以:
int&& x = 3;
x
现在是一个左值。所谓的“右值引用”可以绑定(bind)到一个临时的,
但是任何名称都是左值,所以你需要forward<>()
如果您需要它的右值性,它会返回。
请注意,通过将临时对象绑定(bind)到右值引用(或 const 引用)可以延长其生命周期。从技术上讲, Actor 是可能的, 但不推荐,因为临时的生命周期很短,所以你 通常会得到一个悬空引用。
关于c++ - 右值到左值的转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44677825/