Quali sono le differenze tra i riferimenti rvalue implementati in Visual Studio 2010 e come specificato nel C++ 11? Ci sono particolari trappole a cui prestare attenzione quando si usano riferimenti di revalue in Visual Studio 2010 che potrebbero rendere l'origine non valida o funzionare in modo diverso se compilati dal compilatore conforme al C++ 11?riferimenti di rvalue in Visual Studio 2010
9
A
risposta
5
In base a this table, VS2010 supporta i riferimenti rvalue versione 2.0 (la versione corrente è 2.1 IIRC).
La differenza fondamentale tra 2.0 e 2.1 è che quest'ultima permette conversioni implicite:
std::string&& x = "hello"; // legal in 2.1, illegal in 2.0
noti inoltre che VS2010 non supporta ancora sovraccarico sulla rvalueness di *this
.
void Foo::foo() && { ... } // not yet supported in VS2010
1
Controllare il numero rata 9 di video lezioni Stephan T. Lavavej s' a Channel 9 da 42:30 min in poi. Spiega la tempistica e l'evoluzione dei riferimenti di valore e sposta la semantica in Visual Studio.
Qui è: C9 Lectures: Stephan T. Lavavej - Standard Template Library (STL), 9 of n