6

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{

     }

誰でも助けることができますか?

ありがとう

4

1 に答える 1

22

:)

equal_range がペア型の結果を返すとします

あなたの場合、result.first == result.secondそれは何もないことを意味します。

要素が一つでもあればresult.first != result.second

if(ret.first == ret.second)
{
 // empty range
}
else
{
  //at least an element.
}
于 2011-08-25T04:32:47.710 に答える