看板 C_and_CPP 關於我們 聯絡資訊
程式新手 見笑了 以下是舉個例子 因為需要查找資料 可是會有大機率是找不到key值的 目前是會有50000多筆可能的英文名字 要到6000多筆的英文名字裡面找相符合的 不過用find函式不知道怎樣知道如果沒有找到的話會傳回什麼值 我用cout<<maptest.find("sogana")->first 這樣會產生錯誤然後就中斷了 到底是哪裡錯了呢?? map <string,int> maptest; maptest.insert(pair<string,int>("sogana00",27)); maptest.insert(pair<string,int>("sogana01",25)); maptest.insert(pair<string,int>("sogana02",24)); maptest.insert(pair<string,int>("sogana03",23)); maptest.find("sogana00"); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.120.13.200
solasga:我自己翻到了...會傳回end 03/19 11:37
jerohands:如果允許預設值的話可以用[]運算子,找不到default就是0 03/19 14:10
chrisdar:反對 下標運算子會造成無法預期的結果 03/19 15:36
jerohands:補充一下,前提是value的型別不是user-defined 03/19 16:19