Q: C++
模板用 typename
和 class
有啥区别?
A: 无论使用 class
还是 typename
声明类型参数,效果都是相同的,选择使用哪个关键字主要取决于个人或团队的偏好。一般来说,较为常见的做法是在声明类模板时使用 class,而在嵌套类型的声明或模板内部使用时则使用 typename。
早期的 C++
标准将 class
用作声明类型参数的关键字。为了支持模板内嵌套类型,C++98
标准引入了 typename
, 同时为了兼容性,class
作为模板类型声明的关键字继续保留。
|
|