insert函数
m.insert(e); //e是一个和m上元素相同value_type的值,如果e在m中则不做任何操作,如果e不再m中则插入。 // 返回一个pair类型对象,该pair对象包含一个迭代器和一个bool值,如果插入了则bool为true,否则为假
m.insert(beg, end); //参数为两个迭代器
m.insert(iter, e); //如果键(e.first)不在m中,则创建新元素,并以迭代器iter为起点搜索新元素存储的位置
//返回一个迭代器,指向m中具有给定键的元素
用 insert 函数统计单词数目
#include <iostream>
#include <string>
#include <map>
using namespace std;
int main()
{
map<string, int> wordcount;
string str;
pair< map<string, int>::iterator, bool> pairIns;
cout<<"input"<<endl;
while (cin>>str)
{
//insert函数返回一个pair对象,该对象包含一个迭代器和一个bool值
//如果bool为true则说明正确插入,否则说明插入的值含有重复的键值,此时不做任何操作
//返回的迭代器都为指定元素
pairIns = wordcount.insert(map<string, int>::value_type(str, 1));
if (pairIns.second == false)
{
((*(pairIns.first)).second) ++;
}
}
for (map<string, int>::const_iterator iter = wordcount.begin(); iter != wordcount.end(); ++ iter)
{
cout<<iter->first<<" "<<iter->second<<endl;
}
cout<<endl;
return 0;
}
//运行结果