std::map<std::string, Animal*> animalMap;
animalMap["KillerRabbit"] = new KillerRabit;
但如果我想這樣做呢?
animalMap["KillerRabbit"]["White"] = new KillerRabit;
我不知道「官方」名稱索引括號是,知道他們會幫助極大,而谷歌搜索= P
std::map<std::string, Animal*> animalMap;
animalMap["KillerRabbit"] = new KillerRabit;
但如果我想這樣做呢?
animalMap["KillerRabbit"]["White"] = new KillerRabit;
我不知道「官方」名稱索引括號是,知道他們會幫助極大,而谷歌搜索= P
你所尋找的是地圖地圖的:
std::map<std::string, std::map<std::string, Animal*>> animalMap;
現在存儲在animalMap
中的每個值本身都是std::map
。外部和內部地圖的關鍵類型是std::string
。
[...]
語法是下標運算符。更具體地說,你可以用鍵下標地圖。鍵被映射到值。
sftrabbit給出了執行它的規範方法。如果你不希望每個鍵有多個地圖查找,你也可以使用std :: pair作爲地圖鍵。
它們被稱爲下標運算符,通俗地也稱爲數組訪問或索引運算符。 – leemes 2013-04-03 20:23:52
澄清請求:您是否想使用「White」作爲主鍵來搜索KillerRabit對象?您是否希望在程序中選擇將顏色從「白色」更改爲其他顏色? – Arun 2013-04-03 20:24:05
@ArunSaha 是的,我想在這樣做的時候找到一個白色的殺手鐗,我不太可能用紅漆或其他東西來灌注殺手鐗,所以我不這麼認爲! – Hobbyist 2013-04-03 20:28:18