我如何为这些构造函数调用定义我的类的构造函数:
MyClass<std::list<int>, int> myClass1;
MyClass<std::deque<std::string>, std::string> myClass2;
MyClass<std::vector<char>, char> myClass3;
我知道它是否会是:
MyClass<int> myClass1;
我愿意:
template <typename T>
class MyClass{
//...
};
但是我如何使用模板添加整个集合?
最佳答案
要得到你要求的,你可以简单地添加另一个模板参数:
template <typename Cont, typename T>
class SetSequence {
//...
};
要带容器也没关系。容器类型与 int
一样与模板参数一样有效。
如果 T
参数始终是 Cont
的值类型,您可以通过只有一个模板参数来简化它。然后你可以使用 Cont::value_type
来引用它的元素的类型。
关于像这样的 C++ 模板构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20936678/