博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c++11 std::map 通过值查找键
阅读量:5064 次
发布时间:2019-06-12

本文共 623 字,大约阅读时间需要 2 分钟。

template<typename _MapType>

auto get_map_key_value(const _MapType& input_map, const decltype(input_map.begin()->second)& mapped_value) -> decltype(input_map.begin()->first)
{
    auto iter = std::find_if(input_map.begin(), input_map.end(), [mapped_value](const auto& item) {
        return (item.second == mapped_value);
    });

    if (iter == input_map.end())

    {
        return decltype(input_map.begin()->first)();
    }
    return iter->first;
}

int main()

{
    std::map<int, std::string> open_status_map{
        { 3, "open" },
        { 4, "close" }
};
    int i_open = get_map_key_value(open_status_map, "open");

    return 0;

}

转载于:https://www.cnblogs.com/fluteary/p/9178377.html

你可能感兴趣的文章
Linux 根文件系统制作
查看>>
IOS--沙盒机制
查看>>
使用 JointCode.Shuttle 访问任意 AppDomain 的服务
查看>>
sqlite的坑
查看>>
digitalocean --- How To Install Apache Tomcat 8 on Ubuntu 16.04
查看>>
【题解】[P4178 Tree]
查看>>
Jquery ui widget开发
查看>>
更改git仓库地址
查看>>
有标号DAG计数 [容斥原理 子集反演 组合数学 fft]
查看>>
Recipe 1.4. Reversing a String by Words or Characters
查看>>
Rule 1: Make Fewer HTTP Requests(Chapter 1 of High performance Web Sites)
查看>>
sql注入
查看>>
「破解」Xposed强
查看>>
src与href的区别
查看>>
ABAP工作区,内表,标题行的定义和区别
查看>>
《xxx重大需求征集系统的》可用性和可修改性战术分析
查看>>
Python 中 创建类方法为什么要加self
查看>>
关于indexOf的使用
查看>>
【转】JS生成 UUID的四种方法
查看>>
英语单词
查看>>