Referência Rvalue é tratada como um Lvalue?
Eu postei esta resposta:https://stackoverflow.com/a/28459180/2642059 Que contém o seguinte código:
void foo(string&& bar){
string* temp = &bar;
cout << *temp << " @:" << temp << endl;
}
Ébar
um rvalue ou um lvalue?
Eu pergunto porque obviamente não posso usar o endereço de um rvalue, mas posso usar o endereço de uma referência de rvalue, como é feito aqui.
Se você pode executar qualquer operação em uma referência rvalue, em uma referência lvalue, qual é o ponto de diferenciar os dois com o "&&" em vez de apenas um "&"?