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.根据字段数设置类型.
我怎么能这样做?
提前致谢.
变种模板.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在之前的回答中展示了如何做到这一点,但我找不到它.