multimap在没有指定插入位置时,插入相同key值的value时默认插入在后面;
在指定了插入位置的提示符迭代器后(覆盖了默认插入位置)如果插入key和位置key相等则插入在指定位置的前面,否则提示符迭代器不会生效。
#include <map>
#include <iostream>
#include <string>
using namespace std;
typedef multimap<int, string> multiintstr;
int main(){
multiintstr mul;
mul.insert({
{1, "111"},{1,"11"}, {2, "222"}, {2, "22"}, {3, "333"}, {3, "33"}});
cout<<"init value"<<endl;
for(multiintstr::iterator iter=mul.begin(); iter!=std::end(mul); ++iter){
cout<<iter->first<<"---"<<iter->second<<endl;
}
auto iter = mul.find(2);
mul.insert(iter, make_pair(2, "2"));
mul.insert(iter, make_pair(5, "5555"));
mul.insert( pair<int,string>(2, "22222222"));
cout<<"insert value"<<endl;
for(m