在C ++中定义函数模板或类模板时,可以这样写:
template <class T> ...
或者可以这样写:
template <typename T> ...
是否有充分理由偏好一个而不是另一个?
我接受了最受欢迎(也很有趣)的答案,但真正的答案似乎是“不,没有理由更喜欢一个而不是另一个。”
它们是等价的(除非如下所述)。
有些人有理由一直使用typename。
有些人有理由一直使用class。
有些人有理由同时使用这两种方法。
有些人并不关心他们使用哪一个。
但请注意,在模板模板参数的情况下,在C ++ 17之前,需要使用class而不是typename。
ABOUTYOU
互换的青春
相关分类