map以前作project的时候就用过,现在回顾一下map的常用用法
1,insert()
m.insert(e) e为m:value_type类型的值,如果e.first不在m中,则插入e。如果e.first已经在m中,则不操作。返回一个make_pair,其中iterator为指向e的m迭代器,bool表示是否插入了元素
m.insert(beg,end) beg,end为m:valur_type类型的键-值对的迭代器。对于该范围内的所有元素,如果它的键在m中不存在,则将该键及其关联的值插入到m。返回void
2,查找并读取map中的元素
最简单的方法:
map word_count;
int occurs = word_count["foobar"];
但这个方法有一种坏处,如果键不在map容器里,那么该操作会直接插入该键。有两种方法可以检查某个键是否存在而不会插入该键:
m.count(k) 返回m中k的出现次数
m.find(k) 在m中寻找键k,如果有则返回该元素的迭代器,如果没有则返回m.end()迭代器
3,erase()
m.erase(k) 删除m中键为k的元素,返回size_type类型的值,表示删除的元素个数
m.erase(p) 从m中删除迭代器p所指向的元素。p必须指向m中确实存在的元素,而且不能等于m.end()。返回void
m.erase(b,e) 删除m中迭代器b和e所标记范围内的元素。返回
阅读(645) | 评论(0) | 转发(0) |