右值到左值转换?

问题描述 投票:10回答:1

为什么它是不可能的右值转换到左值?它是可以做到在相反方向转换虽然。技术上右值确实有一个内存地址,是不是?

c++ c++11 type-conversion rvalue-reference lvalue
1个回答
6
投票

您可以:

int&& x = 3;

x现在是一个左值。所谓的“右值引用”可以绑定到一个暂时的,但有一个名字物品为左值,所以你需要,如果你需要它的rvalueness回forward<>()它。

需要注意的是通过结合一个临时的右值引用(或const引用)你延长其寿命。技术上铸造是可能的,但不推荐,因为临时工,寿命短,所以你通常得到一个悬空的参考。

© www.soinside.com 2019 - 2024. All rights reserved.