假设有一个multimap定义:
typedef std::multimap<int, int> MULTIMAP_MATCH;
typedef MULTIMAP_MATCH::iterator MULTIMAP_MATCH_IT;
typedef std::pair<MULTIMAP_MATCH_IT, MULTIMAP_MATCH_IT> PAIR_MATCH_RANGE;
MULTIMAP_MATCH m_multimapMatch;
第一个int表示年级,第二个int表示学号。
现在要查找2年级中,学号为10105的同学。
int nGrade = 2;
int idFind = 10105;
PAIR_MATCH_RANGE range = m_multimapMatch.equal_range(nGrade);
MULTIMAP_MATCH_IT multi_it = range.first;
while (multi_it != range.second)
{
int idStudent = multi_it->second;
if(idStudent == idFind)
{
std::cout<< "find it"<< std::endl;
}
++multi_it;
}