Rvalue-Referenz wird als L-Wert behandelt?
Ich habe diese Antwort gepostet:https: //stackoverflow.com/a/28459180/264205 Welche enthält den folgenden Code:
void foo(string&& bar){
string* temp = &bar;
cout << *temp << " @:" << temp << endl;
}
Istbar
ein rwert oder ein lwert?
Ich frage, weil ich die Adresse eines R-Werts offensichtlich nicht nehmen kann, aber ich kann die Adresse einer R-Wert-Referenz nehmen, wie es hier gemacht wird.
Wenn Sie eine beliebige Operation für eine rWert-Referenz ausführen können, die Sie für eine lWert-Referenz ausführen können, worauf kommt es bei der Unterscheidung zwischen den beiden mit dem "&&" anstelle nur eines "&" an?