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;

}

点赞
收藏

评论区

加载中...

相关推荐

【数据结构与算法】—— 二分查找

1.二分查找的概念二分查找指的是在排好序的数组中,找到目标元素。如果元素存在则返回元素的下标,不存在则返回1.下面以升序为例进行简单描述2.查找过程:取数组中间元素与查找元素target比较。如果target等于中间元素则直接返回中间元素的下标,如果target小于数组中间元素则在数组左边查找,如果target大于数组中间元素则在右边查找。重复以上步骤。

python中的map函数

1map()函数的简介以及语法:map是python内置函数,会根据提供的函数对指定的序列做映射。map()函数的格式是:map(function,iterable,...)第一个参数接受一个函数名,后面的参数接受一个或多个可迭代的序列,返回的是一个集合。把函数依次作用在list中的每一个元素上

Swift 常见面试题解

基础1、class和struct的区别2、不通过继承,代码复用(共享)的方式有哪些3、Set独有的方法有哪些?4、实现一个min函数,返回两个元素较小的元素5、map、filter、reduce的作用6、map与flatmap的区别7、什么是copyonwrite8、如何获取当前代码的函

Redis之

键值相关命令1.keys:返回所有符合匹配的key;如:keys\;2.exists:确认一个元素是否存在;如:existsname;3.del:删除一个键,如:delname;4.expire:设置一个键的过期时间,如:expireaddr10;5.ttl:返回一个键的过期时间,如果没有过期,就返回剩余的过期时间,如

Ruby中的each collect map inject

说明:each——连续访问集合的所有元素collect—从集合中获得各个元素传递给block,block返回的结果生成新的集合。map——同collect。inject——遍历集合中的各个元素,将各个元素累积成返回一个值。arr\1,2,3\1)arr2arr.each{|elem

Python3 迭代器与生成器

点击上方Z先生点记,加为星标第一时间收到Python技术干货!转自:Python那些事迭代器迭代是Python最强大的功能之一,是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。迭代器有两个基本的方