Chinaunix首页 | 论坛 | 博客
  • 博客访问: 168339
  • 博文数量: 33
  • 博客积分: 2015
  • 博客等级: 大尉
  • 技术积分: 317
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-15 17:01
文章分类

全部博文(33)

文章存档

2010年(23)

2009年(10)

我的朋友

分类: C/C++

2009-12-16 23:14:37

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) |
给主人留下些什么吧!~~