为什么它是不可能的右值转换到左值?它是可以做到在相反方向转换虽然。技术上右值确实有一个内存地址,是不是?
您可以:
int&& x = 3;
x现在是一个左值。所谓的“右值引用”可以绑定到一个暂时的,但有一个名字物品为左值,所以你需要,如果你需要它的rvalueness回forward<>()它。
x
forward<>()
需要注意的是通过结合一个临时的右值引用(或const引用)你延长其寿命。技术上铸造是可能的,但不推荐,因为临时工,寿命短,所以你通常得到一个悬空的参考。