шаблоны и RValue

Все что ниже имеет отношение к стандарту С11 и после него. А ведь и до этого неплохо жили...

RValue или универсальная ссылка для шаблонов работает особым образом.

template<class T>
typename remove_reference1<T>::value&& move1(T&& t)
{
  return static_cast<typename remove_refetence1<T>::value&&(t)
}

..

template 
T&& forward1(typename remove_reference1::value& t)
{
  static_cast(t)
}

wikicode

 майерс