让我们考虑以下代码:
.testdelete {
display: inline-block;
font-family: Material Icons;
visibility: hidden;
}
.testdelete:hover .testdelete {
visibility: visible;
}
.testdelete:not(hover) .testdelete {
visibility: hidden;
}
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<div class="testdelete">delete</div>
我坚信,根据定义,对Type的右值引用仅绑定到Type的右值表达式(无论等于什么类型)。
我已经阅读了关于SO的一些问题,但无法弄清楚该代码的含义(尽管我知道与完美转发有联系)。我提出的代码片段被定义为有效的代码,只是为了使完美的转发成为可能,对吗?
我知道引用折叠规则,但是它们的效果(将右值引用绑定到左值表达式的可能性)似乎与右值引用的定义相矛盾。
我不同意这是一个重复的问题-我在问具体的代码片段。
答案 0 :(得分:3)
在这种情况下,reference collapsing进入,U&&
完全扩展为int& &&
,折叠为int&
,这意味着您将获得左值引用。您是正确的,右值引用不能绑定到左值。