【发布时间】:2021-06-30 09:14:41
【问题描述】:
在定义模板以使用自定义数据类型时,我们遵循如下语法:
template<class T>
class Operators{
public:
T variable1 ;
}
为什么我们需要在这里使用“class”关键字,为什么简单的模板不起作用,而且很多地方也使用“typename”代替“class:”,再次,为什么要使用?
还有什么时候用“class”关键字,什么时候用“typename”关键字?
【问题讨论】:
-
请提供完整的示例代码,其中出现此类语法,包括所有必要的定义
-
没有像整数值这样的类型模板参数。
-
正如 Marek 所说,你可以有一个非类型的模板,例如
template <typename T, std::size_t N> class Array,同用法Array<std::string, 5> myArray; -
链接的“重复”问题是另一个主题。
标签: c++ templates keyword typename