以下作品:
std::map<std::string, Animal*> animalMap;
animalMap["KillerRabbit"] = new KillerRabit;
但如果我想这样做呢?
animalMap["KillerRabbit"]["White"] = new KillerRabit;
我不知道索引括号的'官方'名称是什么,知道它们会在Googling = p
时极大地帮助答案 0 :(得分:4)
您正在寻找的是地图地图:
std::map<std::string, std::map<std::string, Animal*>> animalMap;
现在animalMap
中存储的每个值本身都是std::map
。外部和内部地图的键类型为std::string
。
[...]
语法是下标运算符。但更具体地说,您使用键下标地图。键映射到值。
答案 1 :(得分:1)
sftrabbit提供了规范的方法。如果您不希望每个键有多个地图查找,您也可以使用std :: pair作为地图键。