我是靠谱客的博主 俏皮香菇,最近开发中收集的这篇文章主要介绍【一天一个C++小知识】013.std:map-不存在的key查找其value,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、在map中,由key查找value时,首先要判断map中是否包含key。

2、如果不检查,直接返回map[key],可能会出现意想不到的行为。如果map包含key,没有问题,如果map不包含key,使用下标有一个危险的副作用,会在map中插入一个key的元素,value取默认值,返回value。也就是说,map[key]不可能返回null。

3、map提供了两种方式,查看是否包含key,m.count(key),m.find(key)。

4、m.count(key):由于map不包含重复的key,因此m.count(key)取值为0,或者1,表示是否包含。

5、m.find(key):返回迭代器,判断是否存在。

6、对于下面的场景,存在key就使用,否则返回null,有下面两种写法:

if(dataMap.count(key)>0)
	{string valueStr = dataMap[key];}
// or
//find(),仅一次查找,且时间复杂度为logn。
map<string,string>::iterator it;
it = dataMap.find(key);
if(it != dataMap.end())
	{ string valueStr = it->second;}
//也可以用泛型算法find(begin,end,target)

欢迎扫描二维码关注微信公众号 深度学习与数学   [每天获取免费的大数据、AI等相关的学习资源、经典和最新的深度学习相关的论文研读,算法和其他互联网技能的学习,概率论、线性代数等高等数学知识的回顾]
在这里插入图片描述

最后

以上就是俏皮香菇为你收集整理的【一天一个C++小知识】013.std:map-不存在的key查找其value的全部内容,希望文章能够帮你解决【一天一个C++小知识】013.std:map-不存在的key查找其value所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部