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