作者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