我希望创建一个模板类,能够容纳任何组合的容器和元素。例如,像
我已经尝试了许多组合,但必须承认,模板的复杂性让我不知所措。我最接近成功的尝试是这样的:
尽管到目前为止它可以编译,但当我想要实例化它时,会收到许多错误。
我使用的方法是否正确,可以创建那种类?
std::vector<std::string>
或者 std::map<std::tree>
这样的组合。我已经尝试了许多组合,但必须承认,模板的复杂性让我不知所措。我最接近成功的尝试是这样的:
template <class Vector, template <typename, class Containee = std::string> class Container>
class GenericContainer
{
Container<Containee> mLemario;
};
尽管到目前为止它可以编译,但当我想要实例化它时,会收到许多错误。
MyContainer<std::vector, std::string> myContainer;
我使用的方法是否正确,可以创建那种类?
std::tree
这样的东西,因此也就不存在std::map<std::tree>
。另外,std::map
至少需要两个参数:key
和value
,即std::map<key,value>
。那么你认为std::map
的容器是什么?它的key
、value
还是std::pair<key,value>
(这实际上是std::map::value_type
给出的)? - Walter