第68章 mapクラスを使う


データをまとめて扱うときvectorクラスを使うと便利でした。これと似たものに mapクラスがあります。データとキーをペアにして取り扱います。



mapクラスを使うにはmapライブラリをインクルードします。

mapクラスのオブジェクトを宣言するには

map<キーのデータ型, データのデータ型>x;
というような感じで宣言します。

これにデータを追加する方法はいろいろありますが、一番簡単な方法は

map<string, string>x;
x["cat"] = "タマ";
というように追加していく方法です。この時"cat"がキー、"タマ"がデータとなります。

データにアクセスするには

x[キー]
とすればよいですね。雰囲気的にはPerlのハッシュに似ていますね。

では、サンプルを見てみましょう。

// map01.cpp

#include <iostream>
#include <string>
#include <map>

using namespace std;

int main()
{
	map<string, string> mymap;
	map<char *, int> yourmap;

	mymap["0166-23-4567"] = "粂井";
	mymap["011-123-4568"] = "田中";

	cout << "0166-23-4567 -- " << mymap["0166-23-4567"] << endl;
	cout << "011-123-4568 -- " << mymap["011-123-4568"] << endl;

	//わざとに存在しないキーを指定する
	cout << "x -- " << mymap["x"] << endl;

	yourmap["ラーメン"] = 600;
	yourmap["うどん"] = 500;

	cout << "うどん--" << yourmap["うどん"] << "円" << endl;
	cout << "ラーメン--" << yourmap["ラーメン"] << "円" << endl;
	cout << "うどんとラーメン--" << yourmap["うどん"] + yourmap["ラーメン"] << "円" << endl;

	return 0;
}
実行結果は次のようになります。

わざとに存在しないキーを指定した場合は何も表示されません。




[C++Index] [総合Index] [Previous Chapter] [Next Chapter]

Update Mar/01/2003 By Y.Kumei
当ホーム・ページの一部または全部を無断で複写、複製、 転載あるいはコンピュータ等のファイルに保存することを禁じます。