从简介http://en.cppreference.com/w/cpp/language/parameter_pack可以看出,“参数包”的概念与“可变模板”相同。那么它们之间的概念区别是什么?
谢谢!
从语法上讲,参数包是可变参数模板的一部分。例如,
template<class ... Types> struct Tuple {};
是可变参数结构模板,并且Types
是其中的参数包。Tuple
本身不是参数包。
您可以将任何类型参数集传递给Tuple
,然后将它们打包Types
在一起。例如在代码中
Tuple<int, float, std::string> foo;
我们Tuple
用和类型实例化了一个模板int
,并得到了实际类型的结构。现在的代码可能会扩展包。float
string
Tuple<int, float, std::string>
Tuple
Types
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句