< p > # EYZ0 < br > # EYZ0 < / p >
在c++中定义函数模板或类模板时,可以这样写:
template <class T> ...
或者你可以这样写:
template <typename T> ...
有充分的理由选择其中一个而不是另一个吗?
我接受了最流行(也是最有趣)的答案,但真正的答案似乎是“不,没有充分的理由更喜欢其中一个而不是另一个。”
typename
。class
。但是请注意,在c++ 17之前,在模板的模板参数的情况下,需要使用class
而不是typename
。参见下面的user1428839的回答。(但这种特殊情况不是个人偏好的问题,而是语言的要求。)