Use 'class' ou 'typename' para os parâmetros do modelo? [duplicado]

Possível duplicado:
Diferença de C ++ das palavras-chave 'typename' e 'class' nos modelos

Ao definir um modelo de função ou modelo de classe em C ++, pode-se escrever o seguinte:

template <class T> ...

ou pode-se escrever isto:

template <typename T> ...

Existe um bom motivo para preferir um ao outro?

Aceitei a resposta mais popular (e interessante), mas a resposta real parece ser "Não, não há uma boa razão para preferir uma à outra".

Eles são equivalentes (exceto conforme indicado abaixo).Algumas pessoas têm motivos para usar sempretypename.Algumas pessoas têm motivos para usar sempreclass.Algumas pessoas têm razões para usar os dois.Algumas pessoas não se importam com qual delas usam.

Note, no entanto, no caso demodelo modelo parâmetros, uso declass ao invés detypename É necessário. Vejoresposta de user1428839 abaixo. (Mas esse caso em particular não é uma questão de preferência, é um requisito do idioma.) (Também isso mudará comc++17)

questionAnswers(10)

yourAnswerToTheQuestion