具有可变数量类型的模板

2 c++ templates stl visual-c++

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

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

    class MyClass
    {
    //...
    };
Run Code Online (Sandbox Code Playgroud)

但是,"类型的数量"是可变的.

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

MyClass<int, int, int> obj;
Run Code Online (Sandbox Code Playgroud)

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

MyClass<int, int, int, int, int> obj;
Run Code Online (Sandbox Code Playgroud)

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

我怎么能这样做?

提前致谢.

Ara*_*raK 7

变种模板.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);
}
Run Code Online (Sandbox Code Playgroud)

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