C++ 11 std::move(x)
関数は実際には何も移動しません。 r値への単なるキャストです。なぜこれが行われたのですか?これは誤解を招くものではありませんか?
B. Stroustrupによって書かれた C++ 11 FAQ からの引用をここに残しておきましょう。これはOPの質問に対する直接的な回答です。
move(x)は、「xを右辺値として扱うことができる」ことを意味します。 move()がrval()と呼ばれていた方がよかったかもしれませんが、今ではmove()が長年使用されています。
ところで、私は本当にFAQ-読む価値があります。