Rvalue ссылки в Visual Studio 2010 - PullRequest
       14

Rvalue ссылки в Visual Studio 2010

9 голосов
/ 21 августа 2011

Каковы различия между ссылками на rvalue, реализованными в Visual Studio 2010 и указанными в C ++ 11? Существуют ли какие-либо конкретные ловушки, на которые следует обращать внимание при использовании ссылок на переоценку в Visual Studio 2010, которые могут сделать исходный код недействительным или работать по-другому, если он скомпилирован компилятором, соответствующим C ++ 11?

Ответы [ 2 ]

5 голосов
/ 21 августа 2011

Согласно этой таблице , VS2010 поддерживает rvalue ссылок версии 2.0 (текущая версия 2.1 IIRC).

Важное различие между 2.0 и 2.1 заключается в том, что последний допускает неявные преобразования:

std::string&& x = "hello";   // legal in 2.1, illegal in 2.0

Также обратите внимание, что VS2010 еще не поддерживает перегрузку по значению *this.

void Foo::foo() && { ... }   // not yet supported in VS2010
1 голос
/ 28 октября 2011

Проверьте номер платежа 9 из Стефана Т. Лававея * Видео лекции на Канале 9 с 42: 30 мин и далее. Он объясняет временную шкалу и эволюцию ссылок rvalue и перемещает семантику в Visual Studio.

Вот оно: C9 Лекции: Стефан Т. Лававей - Стандартная библиотека шаблонов (STL), 9 из n

...