gpt4 book ai didi

templates - C++11: "parameter pack"和 "variadic template"之间有什么区别?

转载 作者:行者123 更新时间:2023-12-02 22:53:09 24 4
gpt4 key购买 nike

从介绍看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 , floatstring类型并得到实际类型 Tuple<int, float, std::string> 的结构。代码Tuple现在可以expand Types包。

关于templates - C++11: "parameter pack"和 "variadic template"之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38299556/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com