编程语言
9466
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.