C++メモ mapで文字列なキーをfind関数で検索してみる
C++11ってとっても便利。
mapのキーもfind関数で結構簡単に検索できちゃう。
ポイントはこんな感じ。
- mapクラスのfindメソッドを呼ぶ
- findメソッドでmapのキーで検索したい文字列を引数に指定する
- 見つかったかどうかはfindメソッドの戻り値のイテレータが最後の位置かどうかで判定する
んで、コード。
// テスト用のデータ(こんな初期化の方法もできるようになった...) map<string,string> objPairs = {{"a","x"},{"b","y"},{"c","z"}}; // mapにあるキーを探す auto objFind = objPairs.find("b"); if( objFind == objPairs.end()) { cout << "b is not found..." << endl; } else { cout << "b is found!!" << endl; } // mapにないキーを探す auto objNodFind = objPairs.find("x"); if( objNodFind == objPairs.end()) { cout << "x is not found..." << endl; } else { cout << "x is found!!" << endl; }
結果はこんなん。
b is found!! x is not found...
スマートな気がするなぁ…。
んまま、メモってことで。
[amazonjs asin="4797375957″ locale="JP" title="プログラミング言語C++第4版"]
ディスカッション
コメント一覧
まだ、コメントがありません