问题描述
- 定义模板类型关于typename和class的疑问
-
在百度上查了一下typename和class在表示有子类的类类型时候应该用typename而不用class
那么既然typename比class的使用范围广,那么为什么还要使用class呢?是不是还有什么其他区别?
解决方案
在声明一个template type parameter(模板类型参数)的时候,class和typename意味着完全相同的东西。在c++Template中你完全可以用typename代替class.
一些程序员更喜欢在所有的时间都用 class,因为它更容易输入。
少数开发者在任何类型都被允许的时候使用 typename,而把 class 保留给仅接受user-defined types(用户定义类型)的场合。
解决方案二:
模板内部类型定义 typename::int
时间: 2024-11-01 04:46:48