C++ map 根據(jù)value找key的實(shí)現(xiàn)
flyfish
測(cè)試所需頭文件
#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"));
根據(jù)key 找 value
std::string s = "";
auto it = t.find(2);
if (it != t.end())
{
s = (*it).second;
}
根據(jù)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;
}
根據(jù)value 找key 函數(shù)對(duì)象方式
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_;
};
//調(diào)用
int n = 0;
auto it = std::find_if(t.begin(), t.end(), finder("d"));
if (it != t.end())
{
n = (*it).first;
}
以上這篇C++ map 根據(jù)value找key的實(shí)現(xiàn)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- C++ map用法總結(jié)(整理)
- C++保存HBITMAP為位圖文件的實(shí)現(xiàn)方法
- c++ map索引不存在的key可能導(dǎo)致的后果分析
- C++利用map實(shí)現(xiàn)并查集
- c++容器list、vector、map、set區(qū)別與用法詳解
- C++中rapidjson將嵌套map轉(zhuǎn)為嵌套json的講解
- C++中rapidjson將map轉(zhuǎn)為json的方法
- C++中rapidjson組裝map和數(shù)組array的代碼示例
- C++中map和vector作形參時(shí)如何給定默認(rèn)參數(shù)?
- c++ 數(shù)據(jù)結(jié)構(gòu)map的使用詳解
相關(guān)文章
C++實(shí)現(xiàn)utf8字符串和gbk字符串互轉(zhuǎn)
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)utf8字符串和gbk字符串轉(zhuǎn)換的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-02-02
C++深入詳解單例模式與特殊類(lèi)設(shè)計(jì)的實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了C++單例模式和特殊類(lèi)的設(shè)計(jì),單例模式這種類(lèi)型的設(shè)計(jì)模式屬于創(chuàng)建型模式,它提供了一種創(chuàng)建對(duì)象的最佳方式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-06-06
詳解用C語(yǔ)言實(shí)現(xiàn)三子棋游戲流程
三子棋是一種民間傳統(tǒng)游戲,又叫九宮棋、圈圈叉叉、一條龍、井字棋等。將正方形對(duì)角線(xiàn)連起來(lái),相對(duì)兩邊依次擺上三個(gè)雙方棋子,只要將自己的三個(gè)棋子走成一條線(xiàn),對(duì)方就算輸了2021-11-11
淺談C語(yǔ)言函數(shù)調(diào)用參數(shù)壓棧的相關(guān)問(wèn)題
下面小編就為大家?guī)?lái)一篇淺談C語(yǔ)言函數(shù)調(diào)用參數(shù)壓棧的相關(guān)問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09
C++中發(fā)送HTTP請(qǐng)求的實(shí)現(xiàn)方式
使用C++編程發(fā)送HTTP請(qǐng)求通常需要使用第三方的HTTP庫(kù)或框架,在C++中,有幾個(gè)受歡迎的HTTP庫(kù)可供選擇,例如Curl、Boost.Beast和cpp-httplib,另外,也可以自己實(shí)現(xiàn)socket來(lái)發(fā)送http請(qǐng)求,需要的朋友可以參考下2024-04-04

