我想问一些关于模板类的问题。我知道以下基本知识:
template<typename X, typename Y>
class tmp{
...
}
但是,在我的编程任务的起始文件中,我看到了一种新格式:template<typename X, typename... Y>
class tmp<std::tuple<Y...>,X>{
...
}
在这里,我知道“...”是参数包,但是为什么在类名之后还有另一个“<>”呢?
最佳答案
这个 :
template<typename X, typename... Y>
class tmp<std::tuple<Y...>,X>{
...
}
表示:我们有一个带有参数
X
和一个参数包Y
的模板。 tmp
类是一个模板类,它使用Y
变量中的参数包tuple
和X
作为简单模板变量。但这是模板的特化。
关于c++ - 关于模板类语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65000356/