C++ 关于模板类语法
我想问一些关于模板类的问题。我知道一些基本知识,比如:C++ 关于模板类语法,c++,templates,template-specialization,parameter-pack,C++,Templates,Template Specialization,Parameter Pack,我想问一些关于模板类的问题。我知道一些基本知识,比如: template<typename X, typename Y> class tmp{ ... } 模板 类tmp{ ... } 然而,在编程作业的起始文件中,我看到了一种新格式: template<typename X, typename... Y> class tmp<std::tuple<Y...>,X>{ ... } 模板 类tmp{ ... } 在这里,我知道“…”是参数包,
template<typename X, typename Y>
class tmp{
...
}
模板
类tmp{
...
}
然而,在编程作业的起始文件中,我看到了一种新格式:
template<typename X, typename... Y>
class tmp<std::tuple<Y...>,X>{
...
}
模板
类tmp{
...
}
在这里,我知道“…”是参数包,但是为什么在类的名称后面还有另一个“<>”
template<typename X, typename... Y>
class tmp<std::tuple<Y...>,X>{
...
}
模板
类tmp{
...
}
是一个符号,表示:
我们有一个带有参数X
的模板和一个参数包Y
。类tmp
是一个模板类,它在tuple
变量中使用参数packY
,并将X
作为一个简单的模板变量
但是,这是模板的专门化。专门化。