Es ist etwas über Universal references
verwirrt mich wirklich, ich weiß, dassWie Universal-Referenzen abgeleitet bekommen
T&& + lvalue => T&
T&& + rvalue => T&&
Dann hörte ich Scott Meyers sagt: Es gibt „Sonderregel für den universellen Referenzen“, das ist:
T&& + rvalue => T (NOT T&&)
Also habe ich einfach Test dachte, es Dinge
int i = 32;
auto&& v = std::move(i); // assigning xvalue
// According to Scott: auto&& is URef
// And according to the "rule" v should get deduced to T
// VS2015 tells me this is int&& (NOT int)... huh???
auto&& x = int(8); // assigning prvalue
// same as above ... hmmm
so klar wäre, was Ich bin hier fehlt ... ich wirklich verstehen müssen ...
Wenn URef
bis zu T&&
ableiten lassen und, wenn es um T
ableiten lassen ... Ich würde Beispiele geschätzt klare Dinge zu helfen, bis ... Dank
Hinweis: Ich habe bereits SO gesucht Ich habe verwandte Fragen gefunden, aber keine spezifische Antwort auf diese Frage gefunden.
Es gibt keine universellen Referenzen. Es war ein schrecklicher Ausdruck, und das richtige Wort ist "Forwarding Reference". – SergeyA
Ich weiß, URef und RRef sind gleich – Laith