MSVC2010 では、vector
クラスのムーブ コンストラクターの定義は次のとおりです。
vector(_Myt&& _Right)
: _Mybase(_Right._Alval)
{ // construct by moving _Right
_Assign_rv(_STD forward<_Myt>(_Right));
}
コピー コンストラクタの定義もあるのでvector(_Myt&& _Right)
、左辺値参照を引数として呼び出すことはないと思います。
だから私はここに、この行があるのだろうかと思っています:
_Assign_rv(_STD forward<_Myt>(_Right));
で置き換えることができます:
_Assign_rv(_STD move<_Myt>(_Right));
副作用のない