multimap的迭代器的使用
multimap使用工程中,迭代器的使用经常让人费解,下面进行了总结,值得关注。 程序可在codeblocks中正常运行
#include <iostream> #include <stack> #include <queue> #include<map> using namespace std; int main() { multimap<string,string> book; book.insert(make_pair("wanglibao","C++")); book.insert(make_pair("wanglibao3","java")); book.insert(make_pair("wanglibao","HTMl5")); book.insert(make_pair("wanglibao2","java2")); book.insert(make_pair("wanglibao2","java1")); multimap<string,string>::size_type size; size = book.count("wanglibao"); cout << size <<endl; multimap<string,string>::iterator map_it = book.find("wanglibao"); for(int i = 0; i < size; i++) { cout << map_it->second <<endl; map_it++; //该迭代器只指向find的值对应的项目 } cout<< endl; multimap<string,string>::iterator m_e = book.upper_bound("wanglibao2"); multimap<string,string>::iterator m_s = book.lower_bound("wanglibao"); while (m_s != m_e) { //迭代器中只包含wanglibao2,wanglibao对应的项 cout << m_s->second<<endl; ++m_s; } return 0; }