c ++,typename和class中的模板

Vij*_*jay 6 c++ templates

以下两种方式在c ++中编写模板有什么区别

template<typename T> & template<class T>

我们什么时候比他们更喜欢他们?如果两者都相同,那么为什么如果一个就够了我们两个都有?

Naw*_*waz 9

没有任何区别.我更喜欢第一个(大多数),但那是我的个人品味.这种语言在它们之间没有任何区别.

对于模板参数,关键字typenameclass是等价的.§14.1.2说:

template-parameter中的class和typename之间没有语义差异.


如果两者都相同,那么为什么如果一个就够了我们两个都有?

Stan Lippman在他的文章中解释了这一点:

为什么C++支持类型参数的类和类型名称?