Почему вывод аргументов шаблона отключен с помощью std :: forward?

В VS2010 std :: forward определяется как таковой:

template<class _Ty> inline
_Ty&& forward(typename identity<_Ty>::type& _Arg)
{   // forward _Arg, given explicitly specified type parameter
    return ((_Ty&&)_Arg);
}

identity , по-видимому, используется исключительно для отключения шаблона вывод аргумента. Какой смысл целенаправленно отключать его в этом случае?

24
задан David 16 October 2011 в 13:01
поделиться