私std::move
がここに投稿するのを見るほとんどの場合、それは<utility>
バージョンを参照しています。
std::move
で<algorithm>
、実際には、その名前が示唆している何を移動し、一方std::move
では、<utility>
ちょうど基本的に最終的には左辺値にはxValueを移動するための前処理段階ではxValue、にその引数をキャストします。それでmove
、それぞれの機能が異なるときに、これらの両方に名前を付けるのは、ちょっと混乱しませんか?
move
呼ばれるべきmake_rvalue
でしたか、それらの線に沿って何か。単一のパラメーターでstd::move
は実際には何も動かないことを何度も説明するのはイライラします。
<algorithm>
は、単に<utility>
範囲全体に適用されたものです。
<algorithm>
実際に移動を実行します(移動する型に定義された移動代入演算子があると仮定します)。
std::move
ライブラリ関数の代わりに演算子を作成する必要がありました。std::move
長くなっていたよりも良い名前は、それはひどいです。