Зачем использовать идентификацию в прямом определении для C + + 0x rvalue reference?

В Краткое введение в Rvalue Ссылки , forward определяется следующим образом:

  template 
  struct identity { typedef T type; };

  template 
  T &&forward(typename identity::type &&a) { return a; }

Какую цель выполняет Идентификационный класс работает? Почему бы и нет:

  template 
  T &&forward(T &&a) { return a; }

20
задан CharlesB 1 April 2011 в 12:08
поделиться