[英]Calling a method on a non-existing key within a c++ unordered_map
快速提問。 如果我嘗試致電,確切的行為是什么:
std::unordered_map<int, std::unordered_map<int, double>> myUMap;
myUMap[5].insert(......);
......是一對,並假設myUMap [5]還不存在?
我聽說,嘗試使用不存在的鍵來訪問unordered_map,這樣在無序圖中創建該鍵,但是在這種情況下,如果myUMap [5]不存在,該插入操作是否可以正確運行?可以,在其中更新myUMap [5]的地圖嗎?
該行在內部被解析為:
(myUMap.operator[](5)).insert(......);
評估順序從左到右。
因此,您首先在myUMap
上調用operator[](5)
,如果地圖中尚不存在該元素,則會創建一個元素。 因此,最終插入到已創建的元素中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.