LINUX.ORG.RU

template <typename T> 
inline T const& max (T const& a, T const& b) 
{ 
    // if a < b then use b else use a 
    return a<b?b:a; 
} 

...

For historical reasons, you can also use class instead of typename to define a type parameter.
The keyword typename came relatively late in the evolution of the C++ language.
Prior to that, the keyword class was the only way to introduce a type parameter, and this remains a valid way to do so.
Hence, the template max() could be defined equivalently as follows:

template <class T> 
inline T const& max (T const& a, T const& b) 
{ 
    // if a < b then use b else use a 
    return a<b?b:a; 
} 

alex_custov ★★★★★
()

фактически - никакой. в качестве стиля именования может быть удобно использовать typename и class для разного рода параметров

jtootf ★★★★★
()

typename ввели для другой цели, но оказалось что оно более подходит (по смыслу слова) для использования и вместо class в <class T> (T ведб не обязано быть классом)

dilmah ★★★★★
()

Нет разницы. На сегодняшний день рекомендуется использовать typename.

Demon37 ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.