码迷,mamicode.com
首页 > 其他好文 > 详细

map按value值查找——find_if的使用(转载)

时间:2014-11-20 19:58:22      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   ar   color   os   使用   sp   

转载:http://www.cnblogs.com/xufeiyang/archive/2012/05/09/2491871.html

CValueFind

 1 #ifndef _CVALUEFIND_H_
 2 #define _CVALUEFIND_H_
 3 #include <string>
 4 #include <algorithm>
 5 #include <map>
 6 
 7 
 8 class map_value_finder
 9 {
10 public:
11     map_value_finder(const std::string &cmp_string):m_s_cmp_string(cmp_string){}
12     bool operator ()(const std::map<int, std::string>::value_type &pair)
13     {
14         return pair.second == m_s_cmp_string;
15     }
16 private:
17     const std::string &m_s_cmp_string;                    
18 };
19 #endif

main

#include <iostream>
#include <windows.h>
#include <vector>
#include "CValueFind.h"
using namespace std;
//map按value值查找——find_if的使用

int main()
{
    std::map<int, std::string> my_map;
    my_map.insert(std::make_pair(10, "china"));
    my_map.insert(std::make_pair(20, "usa"));
    my_map.insert(std::make_pair(30, "english"));
    my_map.insert(std::make_pair(31, "english"));
    my_map.insert(std::make_pair(32, "english"));
    my_map.insert(std::make_pair(33, "english"));
    my_map.insert(std::make_pair(34, "english"));
    my_map.insert(std::make_pair(35, "english"));
    my_map.insert(std::make_pair(36, "english"));
    my_map.insert(std::make_pair(37, "english"));
    my_map.insert(std::make_pair(38, "english"));
    my_map.insert(std::make_pair(39, "english"));
    my_map.insert(std::make_pair(40, "hongkong")); 

    std::map<int, std::string>::iterator it = my_map.end();
    it = std::find_if(my_map.begin(), my_map.end(), map_value_finder("english"));
    if (it == my_map.end())
        printf("not found\n");       
    else
    {
        printf("found key:%d value:%s\n", it->first, it->second.c_str());
    }
    getchar();

    return 0;
}

 

map按value值查找——find_if的使用(转载)

标签:style   blog   http   io   ar   color   os   使用   sp   

原文地址:http://www.cnblogs.com/chechen/p/4111192.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!