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会怎样?

怎样获取map里指定key对应的value值

C++ tbb::concurrent_hash_map怎么用

VBS,怎样根据内容来查找excel中对应的位置?

java 怎样通过hashmap的value得到key

redis 怎样查找一个key?