multimap与map的区别就在于,multimap可以一个键值对应多个值,而map只能一个键值对应一个值
#include <iostream>
#include <map>
int main()
{
std::multimap<int,int> x;
x.insert(std::pair<int,int>(1,1));
x.insert(std::pair<int,int>(1,2));
x.insert(std::pair<int,int>(2,3));
std::multimap<int,int>::iterator it = x.find(1);
x.erase(it);
for(auto a : x)
{
std::cout << a.second << std::endl;
}
return 0;
}
如果通过iterator这种方式删除,只能删除第一个值(如果有多个的话),如果直接erase键值,则删除键值所关联的所有值,上面这个例子输出的是2,3,而如果x.erase(1),则输出的只有3.