कैसे निम्नलिखित के बारे में:
typedef std::unordered_map<int,std::string> map_type;
typedef std::unordered_map<int,std::string>::value_type map_value_type;
map_type m;
if (m.end() != find_if(m.begin(),m.end(),[](const map_value_type& vt)
{ return vt.second == "abc"; }
))
std::cout << "Value found." << std::end;
else
std::cout << "Value NOT found." << std::end;
या एक बाहरी चर कि कब्जा कर लिया है का उपयोग करते हुए:
std::string value = "abc";
if (m.end() != find_if(m.begin(),m.end(),[&value](const map_value_type& vt)
{ return vt.second == value; }))
std::cout << "Value found." << std::end;
else
std::cout << "Value NOT found." << std::end;
स्रोत
2010-12-09 05:57:02
कस्टम भविष्यवाणी? आपको जो कुछ भी चाहिए वह पहले से ही एसटीएल में है। 'compose1 (bind2nd (equal_to(), मान), select2nd <जोड़ी >()) ' –
ephemient
@ephemient: यह न तो सरल और न ही पठनीय है। (साथ ही, 'select2nd', एसटीएल का हिस्सा, सी ++ मानक लाइब्रेरी का हिस्सा नहीं है) –
@ephemient: यह कभी भी देखा गया एसटीएल का सबसे खराब उपयोग है। –