2

我想问一些关于模板类的问题。我知道以下基本知识:

template<typename X, typename Y>
class tmp{
...
}

但是,在我的编程作业的起始文件中,我看到了一种新格式:

template<typename X, typename... Y>
class tmp<std::tuple<Y...>,X>{
...
}

在这里,我知道“...”是参数包,但是为什么类名后面还有一个“< >”?

4

1 回答 1

1

这个 :

template<typename X, typename... Y>
class tmp<std::tuple<Y...>,X>{
...
}

是一个符号说:

我们有一个带有参数的模板X和一个参数包Y。该类tmp是一个模板类,它Y在一个tuple变量中使用参数包,并X作为一个简单的模板变量。

然而,这是模板的特化

于 2020-11-25T08:11:17.007 回答