From: C++ Primer P.313
使用insert函数对map对象进行插入操作时,如果试图插入的元素所对应的键已经在容器中,则insert将不做任何操作。而且,带一个键-值pair形参的insert函数将返回一个pair对象,该对象包含一个迭代器和一个bool值,其中迭代器指向map中具有相应键的元素,而bool值则表示是否插入了该元素。
说明:使用下标操作的程序更简洁,更容易编写和阅读,而insert函数的返回值的使用比较复杂。但使用insert函数可以避免使用下标操作所带来的副作用,即避免对新插入元素的不必要的值初始化,而且可以显示表示元素的插入(下标操作时隐式表示元素的插入)。两种方法各有其优点。
10.13
假设有map<string, vector<int> >类型,在该容器中插入一个元素的insert函数具有的:
[一道可以用到map的例子——使用下标操作]
注意:insert操作与下标操作的不同。
将从键盘输入的n个小写字母中重复的字母删除,并输出删除重复后的字母序列和字母的个数。