VC++2012でのauto_ptrの実装を見てたら以下のように書いてた

   auto_ptr(auto_ptr_ref<_Ty> _Right) _THROW0()
   { // construct by assuming pointer from _Right auto_ptr_ref
      _Ty *_Ptr = _Right._Ref;
A     _Right._Ref = 0; // release old
      _Myptr = _Ptr; // reset this
   }

「A」の行って何か意味あるの?