首页 > 试题广场 >

在下列模板说明中,正确的是( )。

[单选题]
在下列模板说明中,正确的是( )?
  • template < typename T1, T2 >
  • template < class T1, T2 >
  • template < typename T1, typename T2 >
  • template ( typedef T1, typedef T2 )
typename和class是可以通用的,每一个模板形参名前面必须有一个typename或者class(不可省略).
发表于 2019-04-17 19:38:46 回复(0)
函数模板:template <class 形参名,class 形参名,......> 返回类型 函数名(参数列表) { 函数体}
类模板:template<class 形参名,class 形参名,…> class 类名 { ... };
class和typename没有区别

发表于 2018-09-01 17:40:08 回复(0)
当我们希望通知编译器一个名字表示类型时,必须使用typename,而不能使用class。
例:
template<typename T>
typename T::value_type top(const T& c)
这里的typename是不能与class通用的。
发表于 2018-11-21 19:25:18 回复(0)
模板形参具有typename<参数名>、class<参数名>、<类型修饰><参数名>三种形式,即typename与class通用。
发表于 2018-08-23 16:37:33 回复(0)