読者です 読者をやめる 読者になる 読者になる

map

C++

mapは、C++標準ライブラリのSTL(標準テンプレートライブラリ)のひとつで、マップ(連想配列)クラス・・・。

map - C++ Reference

テンプレート引数にキーの型と値の型を指定して、オブジェクトを作成・・・。
オブジェクトにpair形式で要素を挿入していく・・・。

mapをインクルード・・・。

キーも値もstd::stringなmapを作成・・・。
イテレータも用意・・・。

いくつかpairを作成する方法はあるが、まずはstd::map<std::string, std::string>::value_typeで2つの文字列(キーが"ABC", 値が"abc")を指定する・・・。
それをmap.insertで挿入・・・。

次は、前回のstd::pairでpairインスタンスを作って、そこに("DEF", "def")を指定して、pairをinsertする方法・・・。

std::make_pairを使って、指定することもできる・・・。

最後は、キー"JKL"をmapの添字演算子"[]"に入れて、そこに値"jkl"を代入する方法・・・。
これでもキーと値のペアがmapにセットされる・・・。

イテレータitorのfirstでキー、secondで値を参照できるので、それを出力・・・。

また、添字演算子でキーを指定することでも、値を参照できるので、それでmap["ABC"]を出力・・・。

$ vi map.cpp
$ g++ map.cpp -o map
$ ./map
itor->first = ABC, itor->second = abc
itor->first = DEF, itor->second = def
itor->first = GHI, itor->second = ghi
itor->first = JKL, itor->second = jkl
map["ABC"] = abc
$

イテレータでも添字演算子でも値を参照できた・・・。

Sample/cpp/map/map/src/map at master · bg1bgst333/Sample · GitHub