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

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?

14 s
14

Use map::find

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

Leave a Comment