假设有一个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; }