在C++中定义函数模板或类模板时,可以这样写:
template <class T> ...
Run Code Online (Sandbox Code Playgroud)
或者可以这样写:
template <typename T> ...
Run Code Online (Sandbox Code Playgroud)
是否有充分理由偏好一个而不是另一个?
我接受了最受欢迎(也很有趣)的答案,但真正的答案似乎是"不,没有理由偏爱另一个."
typename.class.但是,请注意,在模板模板参数的情况下,需要使用class而不是typename.请参阅下面的user1428839的答案.(但这个特殊情况不是偏好问题,而是语言的要求.)(这也会改变typename)