C++ How to use multimaps

In C++, multimaps are data containers that work like maps but allow multiple instances of the same key! How does this work?

void testMultiMap()
{
    multimap<string, int> mm{
        {"mickey", 100},
        {"minnie", 150},
        {"mickey", 200},
        {"minnie", 300},
        {"minnie", 400}
    };

    cout << "mickey count " << mm.count("mickey") << endl;
    cout << "minnie count " << mm.count("minnie") << endl;
    auto res = mm.equal_range("mickey");
    for (auto iter=res.first; iter != res.second; ++iter) {
        cout << iter->first << " " << iter->second << endl;
    }
    res = mm.equal_range("minnie");
    for (auto iter=res.first; iter != res.second; ++iter) {
        cout << iter->first << " " << iter->second << endl;
    }
    // erase just the second instance of minnie
    // reverse iterate because erasing a member removes 
    // member from container
    for (auto iter=res.second; iter != res.first; --iter) {
        if (iter->second>=300) {
            iter = mm.erase(iter);
        }
    }
    cout << "after erasing select instances of minnie" << endl;
    res = mm.equal_range("minnie");
    for (auto iter=res.first; iter != res.second; ++iter) {
        cout << iter->first << " " << iter->second << endl;
    }
}

After executing this function:

mickey count 2
minnie count 3
mickey 100
mickey 200
minnie 150
minnie 300
minnie 400
after erasing select instances of minnie
minnie 150

~~~