C++ map 根据value找key的实现
flyfish
测试所需头文件
#include#include #include
初始
std::mapt; 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::strings=""; autoit=t.find(2); if(it!=t.end()) { s=(*it).second; }
根据value找keylambda方式
std::strings="c"; autofind_item=std::find_if(t.begin(),t.end(), [s](conststd::map::value_typeitem) { returnitem.second==s; }); intn=0; if(find_item!=t.end()) { n=(*find_item).first; }
根据value找key函数对象方式
classfinder { public: finder(conststd::string&cmp_string):s_(cmp_string){} booloperator()(conststd::map::value_type&item) { returnitem.second==s_; } private: conststd::string&s_; }; //调用 intn=0; autoit=std::find_if(t.begin(),t.end(),finder("d")); if(it!=t.end()) { n=(*it).first; }
以上这篇C++map根据value找key的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。