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

    链接:https://www.cnblogs.com/jianfeifeng/p/11089799.html

      对于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;

    }

    新战场:https://blog.csdn.net/Stephen___Qin
  • 相关阅读:
    P1032 字串变换
    P3203 [HNOI2010]弹飞绵羊
    P3690 【模板】Link Cut Tree (动态树)
    P2147 [SDOI2008]洞穴勘测
    P3950 部落冲突
    Codeforces Round #469 Div. 2题解
    线段树
    SDOI2018退役记
    4.1模拟题
    无旋Treap
  • 原文地址:https://www.cnblogs.com/Stephen-Qin/p/11762223.html
Copyright © 2011-2022 走看看