开发者社区 问答 正文

定义模板类型关于typename和class的疑问

在百度上查了一下typename和class在表示有子类的类类型时候应该用typename而不用class
那么既然typename比class的使用范围广,那么为什么还要使用class呢?是不是还有什么其他区别?

展开
收起
a123456678 2016-03-09 14:09:18 1944 分享 版权
1 条回答
写回答
取消 提交回答
  • 在声明一个template type parameter(模板类型参数)的时候,class和typename意味着完全相同的东西。在c++Template中你完全可以用typename代替class.
    一些程序员更喜欢在所有的时间都用 class,因为它更容易输入。
    少数开发者在任何类型都被允许的时候使用 typename,而把 class 保留给仅接受user-defined types(用户定义类型)的场合。

    2019-07-17 18:56:04
    赞同 展开评论
问答地址: