指定されたキーがstd::mapに存在するかどうかを確認する方法 質問する

指定されたキーがstd::mapに存在するかどうかを確認する方法 質問する

特定のキーがマップ内にあるかどうかを確認しようとしていますが、どうもできません。

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

では、p にあるものをどのように印刷すればよいのでしょうか?

ベストアンサー1

使用map::findそしてmap::end:

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

おすすめ記事