2011-08-21 11 views
9

Visual Studio 2010で実装されている、およびC++ 11で指定されている右辺値の違いは何ですか? Visual Studio 2010で、ソースが無効になる可能性があり、C++ 11準拠のコンパイラでコンパイルされた場合に別の方法で動作する可能性のある値の参照を使用するときに、注意すべき点がありますか?Visual Studio 2010での右辺値の参照

答えて

5

this tableによれば、VS2010はrvalue referenceバージョン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 
関連する問題