c++ map怎样根据索引的内容查找到key
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++ map怎样根据索引的内容查找到key相关的知识,希望对你有一定的参考价值。
c++的std::map有两种方式可以实现依据索引的内容查找对应的键值
使用std::map的find接口。
例子如下:
std::map<std::string,int> mapTest;
std::map<std::string,int>::iterator it = mapTest.find("index");
if(it!=mapTest.end()) return it->second;
使用std::map的下标运算符重载
例子如下:
std::map<std::string,int> mapTest;
return mapTest["index"];
注意,对于第二种方式存在安全隐患。如果对应的索引并不存在对应的键值的话,会有异常抛出。如果不捕获并处理的话可能导致程序崩溃。如果不确认索引是否存在键值,最好使用第一种方式,并添加查找失败的处理。
参考技术A map<string,int>::iterator iter=ivec.find(k);if(iter!=ivec.end())则找到
iter->first为key
iter->second为mapped本回答被提问者采纳 参考技术B 只能遍历了吧
以上是关于c++ map怎样根据索引的内容查找到key的主要内容,如果未能解决你的问题,请参考以下文章
STL的map容器将第3个模板参数设为less_equal或greater_equal会怎样?