C++ map 根据value找key的实现分享!

flyfish

测试所需头文件

  #include <algorithm>    #include <vector>     #include <map>  #include <string>

初始

  std::map<int, std::string> t;    t.insert(std::make_pair(1, "a"));    t.insert(std::make_pair(2, "b"));    t.insert(std::make_pair(3, "c"));    t.insert(std::make_pair(4, "d"));

根据key 找 value

  std::string s = "";    auto it = t.find(2);    if (it != t.end())    {      s = (*it).second;    }

根据value 找key lambda方式

  std::string s = "c";    auto find_item = std::find_if(t.begin(), t.end(),      [s](const std::map<int, std::string>::value_type item)    {      return item.second == s;    });      int n = 0;    if (find_item!= t.end())    {      n = (*find_item).first;    }  

根据value 找key 函数对象方式

  class finder  {  public:    finder(const std::string &cmp_string) :s_(cmp_string){}    bool operator ()(const std::map<int, std::string>::value_type &item)    {      return item.second == s_;    }  private:    const std::string &s_;  };      //调用  int n = 0;  auto it = std::find_if(t.begin(), t.end(), finder("d"));    if (it != t.end())    {      n = (*it).first;    }  

以上这篇C++ map 根据value找key的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持<计算机技术网(www.ctvol.com)!!>。

—-想了解C++ map 根据value找key的实现分享!全部内容且更多的C语言教程关注<计算机技术网(www.ctvol.com)!!>

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/483472.html

(0)
上一篇 2020年11月10日
下一篇 2020年11月10日

精彩推荐