c ++ multimap equal_range什么都没找到

时间:2011-08-25 04:26:11

标签: c++ multimap

我怎么知道equal_range没有找到任何匹配案例?

像:

multimap<string,string> mapdic;
pair<multimap<string,string>::iterator,multimap<string,string>::iterator> ret;
// insert some string pairs


ret=mapdic.equal_range(thisUpperCaseName);


    if (???)//how to test equal_range find nothing?
    {       
}else{

     }

任何人都可以提供帮助吗?

由于

2 个答案:

答案 0 :(得分:19)

:)

说你的equal_range返回pair

类型的结果

如果您的result.first == result.second则表示没有任何内容。

如果只有一个元素,那么result.first != result.second

if(ret.first == ret.second)
{
 // empty range
}
else
{
  //at least an element.
}

答案 1 :(得分:-1)

与Ajeet的答案基本相同:) ret.first == mapdic.end()