一般に、右辺値参照は C++ プログラムのパフォーマンスを向上させます。ただし、C++03 コンパイラで直接使用することはできません。幸いなboost::move
ことに、C++03 でもエミュレートできるようです。
右辺値参照は C++0x の主要な機能であり、C++ 値の移動セマンティクスを有効にします。ただし、移動セマナティクスを利用するために C++0x コンパイラは必要ありません。Boost.Move は、C++03 コンパイラで C++0x 移動セマンティクスをエミュレートし、C++03 および C++0x コンパイラで最適に動作する移植可能なコードを記述できるようにします。
C++98/03 で書かれた標準ライブラリのようなものは、書き直すboost::move
必要があるため、メリットがありません。(VC10 のような標準ライブラリの新しいバージョンは、右辺値参照を使用して書き直されています。)
boost::move
しかし、1.48 で導入されて以来、いくつの Boost ライブラリが書き直されたのでしょうか?