How to find if a given key exists in a C++ std::map

There is nothing we can do picture There is nothing we can do · Dec 21, 2009 · Viewed 606.2k times · Source

I'm trying to check if a given key is in a map and somewhat can't do it:

typedef map<string,string>::iterator mi;
map<string, string> m;
m.insert(make_pair("f","++--"));
pair<mi,mi> p = m.equal_range("f");//I'm not sure if equal_range does what I want
cout << p.first;//I'm getting error here

so how can I print what is in p?

Answer

anon picture anon · Dec 21, 2009

Use map::find

if ( m.find("f") == m.end() ) {
  // not found
} else {
  // found
}