gpt4 book ai didi

c++ - 具有可变数量类型的模板

转载 作者:太空狗 更新时间:2023-10-29 23:38:22 25 4
gpt4 key购买 nike

我想写一个这样的 C++ 模板:

template <class Type1, class Type2, class Type3,....>

class MyClass
{
//...
};

但是,“类型的数量”是可变的。

例如,用户可以创建具有 3 种类型的对象:

MyClass<int, int, int> obj;

或者他可以创建一个有 5 种类型的对象:

MyClass<int, int, int, int, int> obj;

换句话说,我想要用户:
1.指明字段数。
2.根据字段数设置类型。

我该怎么做?

提前致谢。

最佳答案

Variadic templates. C++0x :(

只是提一下,您可以在当前的 C++ 中解决这个问题。例如,您可以看一下 Boost::tuple:

#include <boost/tuple/tuple.hpp>

int main()
{
boost::tuple<int, double> tuple1(4, 2.0);
boost::tuple<int, double, double> tuple2(16, 4.0, 2.0);
}

您不能为元组分配可变 数量的类型,boost::tuple 最多只允许您分配 10 种类型。我想litb在之前的回答中展示了如何做到这一点,但我找不到它。

关于c++ - 具有可变数量类型的模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1283866/

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