前章ではmapクラスにデータを追加しましたが、キーからデータを
検索するにはどうしたらよいでしょうか。
これには、findメンバ関数を使います。
map 
従って 
mymap.find(キー)->second 
はこのキーを持つオブジェクトのデータを表します。 
ちょっと煩わしいのですがサンプルを見てみましょう。
 
.....
mymap.find(キー)でキーを持つオブジェクトの反復子を取得できます。
mapクラスの反復子はpairクラスのオブジェクトを指します。
// map03.cpp
#include <iostream>
#include <string>
#include <map>
using namespace std;
int main()
{
    string nm, js;
    map<string, string> m;
    pair<string, string> p;
    p.first = "粂井";
    p.second = "旭川市猫町10丁目";
    m.insert(p);
    p.first = "田中";
    p.second = "東京都港区";
    m.insert(p);
    p.first = "太田";
    p.second = "札幌市犬町通り"; 
    m.insert(p);
    while (1) {
        cout << "氏名==";
        cin >> nm;
        if (nm == "e")
            break;
        js = (m.find(nm))->second;
        if (js == "") {
            cout << "存在しません" << endl;
            continue;
        }
        cout << "住所==" << m.find(nm)->second << endl;
    }
    return 0;
}
今回は簡単でした。
[C++Index]
[総合Index]
[Previous Chapter]
[Next Chapter]
当ホーム・ページの一部または全部を無断で複写、複製、
転載あるいはコンピュータ等のファイルに保存することを禁じます。