Visual Studio 2010中的rvalue引用

9

在Visual Studio 2010中实现的rvalue引用和C++11中规定的rvalue引用有什么区别?在使用Visual Studio 2010中的rvalue引用时,有没有需要注意的特殊陷阱,这些陷阱可能会使源代码无效或在由符合C++11标准的编译器编译时工作不同?

2个回答

5
根据这个表格,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的rvalueness进行重载。

void Foo::foo() && { ... }   // not yet supported in VS2010

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接