作者solasga (密碼呢)
看板C_and_CPP
標題[問題] map查找如果沒有值的話!!
時間Thu Mar 19 11:31:29 2009
程式新手 見笑了
以下是舉個例子
因為需要查找資料 可是會有大機率是找不到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
1F:→ solasga:我自己翻到了...會傳回end 03/19 11:37
2F:→ jerohands:如果允許預設值的話可以用[]運算子,找不到default就是0 03/19 14:10
3F:推 chrisdar:反對 下標運算子會造成無法預期的結果 03/19 15:36
4F:→ jerohands:補充一下,前提是value的型別不是user-defined 03/19 16:19