1 读取
map<string,int> m;
auto a=m.begin();
cout<<a->first<<a.second<<endl //第一个元素
++a;
cout<<a->first<<a.second<<endl //第二个元素
set<int> s;
auto a=s.begin();
cout<<*a<<*(++a);
2插入
string s="a";
m.insert(make_pair(s,1))
上述语句返回一个pair值
auto a=m.insert(make_pair(s,1))
a.first是指向插入元素的一个迭代器,a.second是是否插入成功,若成功则为true,既以前map中不含有要插入的元素,若失败,则已存在
a.first->first为 插入元素,a.first->second为插入元素值的value
3删除
m.erase(word)
对于map返回0或1,0表示删除的元素不在容器中,1表示在,删除成功
对于multi_map中,0表示不在,其他表示删除数量
4通过下标访问map时
和vector中不同的是
如果在map中未找到,map会自动建一个键值
如:
if(m["jia"==1])
如果m中没有“jia”时,m会自动建立<"jia",0>
5查找
m.find("jia")若存在则返回指向“jia”的迭代器,既m.find("jia")->first为“jia”,->second为jia的值

1656

被折叠的 条评论
为什么被折叠?



