zoukankan      html  css  js  c++  java
  • C++ 之获取map元素

      对于map对象, count成员返回值只能是0或者1,map容器只允许一个键对应一个实例。所以count可有效地表明一个键是否存在。count返回出现的次数。

      find返回指向元素的迭代器, 如果元素不存在, 则返回end 迭代器。

      直接使用下标操作存在一个危险的副作用:如果该键不在map容器中,那么下标操作会插入一个具有该键的新元素。但是大多数情况下,使用者并不想插入一个容器本不存在的key。

      c++中提供了两种不修改map对象的查询操作:

    一、m.count(k) ==========> 返回m中k的出现次数

    举个例子:

    int occurs = 0;

    if(word_count.count("foobar")){

      occurs = word_count["foobar"];

    }

    // 执行count后再使用下标操作符号, 实际上是对元素作了两次查找。如果希望当元素存在时就使用它, 则应该用find操作。

    二、m.find(k) ==========> 如果m容器中存在按k索引的元素, 则返回指向该元素的迭代器。如果不存在, 则返回超出末端迭代器。

    举个例子:

    int occurs = 0;

    map<string, int>::iterator it = word_count.find("foobar");

    if(it != word_count.end()){

      occurs = it->second;

    }

  • 相关阅读:
    Checked Exception & Unchecked Exception
    Spring事务:调用同一个类中的方法
    SpringMVC接收checkbox传值
    Java String 学习
    写给大忙人的JavaSE 8
    Spring in Action 4th 学习笔记 之 AOP
    Spring in Action 4th 学习笔记
    spring只是一个框架
    lambda小结
    电感的Q值
  • 原文地址:https://www.cnblogs.com/jianfeifeng/p/11089799.html
Copyright © 2011-2022 走看看