Visual Studio 2010中的右值引用

wil*_*ilx 9 c++ visual-studio-2010 rvalue-reference

在Visual Studio 2010中实现的rvalue引用与C++ 11中指定的有什么区别?在Visual Studio 2010中使用重量值引用时,如果使用符合C++ 11的编译器编译,可能会使源无效或工作方式不同,是否有任何特别的缺陷?

fre*_*low 5

根据此表,VS2010支持rvalue引用版本2.0(当前版本为2.1 IIRC).

2.0和2.1之间的重要区别在于后者允许隐式转换:

std::string&& x = "hello";   // legal in 2.1, illegal in 2.0
Run Code Online (Sandbox Code Playgroud)

另请注意,VS2010还不支持rvalueness上的重载*this.

void Foo::foo() && { ... }   // not yet supported in VS2010
Run Code Online (Sandbox Code Playgroud)