STL入门教程三:map的使用

       map是C++标准库的关联容器之一,它是一种通过键值(key-value)对组合而成的容器。由于在容器内部对键值对中的键进行了特别的组织,所以我们可以通过搜索容器中的键,来快速的查询到我们所感兴趣的元素。同时,map中的键还具有唯一性。即map中如果存在待插入的键值,则此次的插入操作会失败。了解了这些基本的概念以后,让我们来结合map的具体使用方法,来加深对map的认识。

      首先让我们来学习一下构造函数和赋值操作:

     

      说明:默认构造函数,使用comp对象中定义的规则来创建一个空的map。

      在这里让我们稍微的岔开一点正题,来看一看comp对象,comp对象是对map的内部影响最大的模板参数。map中通过在comp对象中所定义的规则,按照从小到大的顺序来组织容器中的元素排列。这也是关联容器相对于顺序容器的特点之一,及相对于元素而不是相对于元素的绝对位置组织元素。由于使用自定义的comp对象算是在map中最难的,所以在这里我就不马上为大家举一个例子。等到大家学习了一些关于map的知识过后,我会为大家举一个使用自定义comp的例子。

      下面让我们回到正题,来继续看map中的其它构造函数。 

     

       
      说明:重复序列构造函数。将first(包含)到last(不包含)之间的元素复制到map中。


      

      说明:复制构造函数。将x中的元素复制到map中。

 

     

      说明:赋值运算符。将map中原来的元素全部清空后,然后将x中的元素拷贝到map中。

 

      接下来让我们来看一下map中的插入操作:

     

      说明:插入操作。需要注意的是map的insert操作和一般容器的insert操作有点不一样,它并不一定会将传入的键值对加入到容器中。它首先会查找容器中是否存在待插入的键值,如果不存在这样的键值,则将传入的键值对插入到map中;如果存在的话,则不会将键值对插入到map中。

      insert和operator[]是map提供的仅有两个能将新的元素插入到容器中的操作。可能有的同学会

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值