map判斷值是否存在需要注意的問題
對於像這種判斷
map<int,int> myMap;
//此時即使myMap[2]不存在,經過這樣的判斷之後將會建立myMap[2]並初始化為0
if(myMap[2]==5){
//
}else{
//size已經發生了變化
cout<<myMap.size()<<endl;
}
特別注意:先,會在map查詢這個鍵值的項,map如果不包含某個鍵值,會返回map的end,
然後它發現此鍵值沒有找到(_Where == this->end())的話,
會自動在末尾插入(this->insert(_Where)一個以你輸入的鍵值和value的預設值(mapped_type())構成的對兒(pair),
然後返回這個插入項的值(second,鍵是first)。而int的預設建構函式int(),就是0。
也就是時候,哪怕你沒有對map進行插入操作,哪怕只是用[]判斷了下返回值是否是0,map物件也會自動新增一項。
不過一般判斷map是否包含一個鍵,是用map的find方法,判斷find的返回結果是否是map的end。
相關文章
- 記一次判斷值是否存在遇到的神奇問題
- 判斷Map集合中是否存在某一個key
- sqlserver判斷欄位值是否存在某個字元SQLServer字元
- QJsonObject判斷欄位是否存在JSONObject
- MySQL判斷表名是否存在MySql
- postgresql如何判斷表是否存在SQL
- JavaScript 判斷函式是否存在JavaScript函式
- python 判斷檔案是否存在Python
- golang判斷檔案是否存在Golang
- 遊戲是否存在價值問題?遊戲
- js判斷dom節點是否存在JS
- 怎麼判斷mysql表是否存在MySql
- 判斷objectStore物件倉庫是否存在Object物件
- jQuery 判斷使用者是否存在jQuery
- Laravel 5 判斷條件是否存在Laravel
- 多個陣列,判斷鍵值是否存在從屬關係陣列
- 如何判斷FMEA的存在是否還有意義?
- sh指令碼判斷路徑是否存在指令碼
- golang中判斷兩個slice是否相等與判斷值下的 陣列是否相等Golang陣列
- mysql如何判斷是否存在某個欄位MySql
- jquery怎麼樣判斷檔案是否存在jQuery
- java判斷mysql中資料庫是否存在JavaMySql資料庫
- 判斷一個物件是否為空物件,判斷一個物件中是否有空值物件
- shell判斷系統路徑中是否存在空格
- bash函式應用之:判斷函式是否存在函式
- VBA判斷指定的資料夾或檔案是否存在
- 如何判斷一個 interface{} 的值是否為 nil ?
- 刷題系類 - Python判斷二叉樹是否存在一條路徑滿足和值要求Python二叉樹
- 記一次坑爹的golang 二維map判斷問題Golang
- 判斷條件為空時需要注意
- 動態生成表-判斷表是否存在效能對比
- 如何判斷一個js物件是否存在迴圈引用JS物件
- XamarinEssentials教程首選項Preferences判斷專案是否存在
- 如果透過python的sdk pymilvus 判斷一個 collection 是否存在?Python
- 【數學問題】判斷一個數是否是素數
- 【ASP】判斷是否是手機訪問
- golang map的判斷,刪除Golang
- 自動化介面測試,怎樣判斷 Bug 是否存在