map:根据 value 找 key ?
生活随笔
收集整理的這篇文章主要介紹了
map:根据 value 找 key ?
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在之前的學(xué)習(xí)中,我們?cè)谑褂胢ap的時(shí)候,都是利用key找value。
之前我們使用的函數(shù)是find,若存在,返回查找到的指向第一個(gè)key的迭代器,若不存在,返回尾后迭代器。
反過頭來想一想,我們可不可以根據(jù)value找key呢?
答案是肯定的。
我們使用find_if +lambda可以實(shí)現(xiàn)。返回值和find一致。
實(shí)例1:
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; }根據(jù)value為c,找對(duì)應(yīng)的key!!!
總結(jié)
以上是生活随笔為你收集整理的map:根据 value 找 key ?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深信服:输入一个字符串,帮忙统计字符串里
- 下一篇: 13. sizeof 和 strlen