折りたたみ参照

X&&= X&

X&&& = X&

X &&&= X&

X && && = X &&


例:

  template<typename _Tp>
  constexpr typename std::remove_reference<_Tp>::type&&
  move(_Tp&& __t) noexcept
  { return static_cast<typename std::remove_reference<_Tp>::type&&>(__t); }
着信は、Tを想定し、正しい値である&&

1.move(T && && __t) - >移動(T &&)を鋳型としてインスタンス化するように、パラメータTの正しい値&&

2.std :: remove_reference <_Tp> ::タイプ&& - > T &&

3.方法为T &&移動(T &&){リターンはstatic_cast <T &&>(__ T);}


着信値はT&、残っています

1.move(T&&& __ T) - >移動(T&)それはT&左のパラメータをテンプレートとしてインスタンス化されます

2.std :: remove_reference <_Tp> ::タイプ&& - > T &&

3方法为T &&移動(T&){リターンはstatic_cast <T &&>(__ T);}


リファレンスC ++プライマー第5版

公開された140元の記事 ウォン称賛28 ビュー180 000 +

おすすめ

転載: blog.csdn.net/qq_16097611/article/details/78944026