Visual Studio 2010 で実装された右辺値参照と C++11 で指定された右辺値参照の違いは何ですか? Visual Studio 2010 で再値参照を使用するときに、C++11 準拠のコンパイラでコンパイルした場合にソースが無効になったり、動作が異なったりする可能性がある特定の落とし穴はありますか?
2 に答える
5
この表によると、VS2010 は右辺値参照バージョン 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
于 2011-08-21T12:58:11.993 に答える
1
42:30分以降のチャンネル9でのStephanT.Lavavejのビデオ講義の分割払い番号9を確認してください。彼は、VisualStudioでの右辺値参照と移動セマンティクスのタイムラインと進化について説明します。
C9講義:Stephan T. Lavavej-標準テンプレートライブラリ(STL)、9 of n
于 2011-10-28T14:28:10.057 に答える