C++ multimap初步使用

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.

你可能感兴趣的:(C++ multimap初步使用)