C++ 不同自定义类型的无序_映射
假设我有两个C++ 不同自定义类型的无序_映射,c++,stl,C++,Stl,假设我有两个枚举: enum Type { Type1, Type2 }; enum Location { Location1, Location2, Location3 }; 现在我想要一个我可以引用的容器,比如container[Type1][Location1]=5 我不需要对元素进行排序,但我需要能够有重复项,如container[Type1]可以是Location1或Location2等 我正在考虑使用一个无序的\u multimap>,它提
枚举
:
enum Type
{
Type1,
Type2
};
enum Location
{
Location1,
Location2,
Location3
};
现在我想要一个我可以引用的容器,比如container[Type1][Location1]=5代码>
我不需要对元素进行排序,但我需要能够有重复项,如container[Type1]
可以是Location1
或Location2
等
我正在考虑使用一个无序的\u multimap>
,它提供了我想要的东西,但不允许我访问所描述的元素(或者至少我不知道怎么做)
您有什么建议?我相信您正在寻找嵌套地图:
std::unordered_map<Type, std::unordered_map<Location, unsigned int>>
std::无序映射
您还可以演示如何在这种嵌套映射中插入/访问元素的示例吗?(很抱歉,这是我第一次使用地图而不是map
)@TedyS.:简单访问是container[Type1][Location1]
,如您所愿。还有一个问题,如果你需要做更复杂的事情。谢谢,一切都解决了。