Visual Studio 2010の標準ライブラリは、右辺値参照をサポートするように書き直されていることを知っています。これにより、パフォーマンスが大幅に向上します。
gcc 4.4(およびそれ以降)の標準ライブラリ実装は右辺値参照をサポートしていますか?
gcc 4.4 の STL からこれを見つけました:
#ifdef __GXX_EXPERIMENTAL_CXX0X__
_Vector_base(_Vector_base&& __x)
: _M_impl(__x._M_get_Tp_allocator())
{
this->_M_impl._M_start = __x._M_impl._M_start;
this->_M_impl._M_finish = __x._M_impl._M_finish;
this->_M_impl._M_end_of_storage = __x._M_impl._M_end_of_storage;
__x._M_impl._M_start = 0;
__x._M_impl._M_finish = 0;
__x._M_impl._M_end_of_storage = 0;
}
#endif
GCC は右辺値参照をサポートしています。残念ながら、libstc++ ページには、ライブラリの実装がそれを利用しているかどうかは記載されていません。