模板模板参数声明只能使用关键字class 而不是在C ++ 17之前输入。
这是直到C ++ 17之间的区别。因为C ++ 17,两者都是相同的。
那么为什么C ++ 17不推荐使用模板参数和类型参数声明中的一个关键字(class)?
因为班级有两个不同的含义
答案 0 :(得分:0)
这是一个主观问题。就个人而言,我倾向于同意class
此处 的格式很差,typename
应该是唯一允许的关键字。
但这只是我的意见。或许class
的这种用法将来会被弃用;也许有足够的人喜欢以任何理由写class
,但它不会成为。
最终,影响C ++并不是最紧迫的问题,这可能是委员会最终放松限制而非增加新限制的真正原因。
如果您强烈认为应该弃用class
的这种用法,请随时向工作组提出建议!
顺便说一下,你引用的static
的用法在C ++ 11中实际上是不常用的。