C++ 不整列マップ (std::unordered_map)
提供:cppreference.com
C++ 不整列マップは、並べ替えられたユニークな「キー/値」の組を保持する連想配列(ハッシュテーブル)です。 すなわち、下記のように添え字(キー)としてさまざまな型を使用可能な配列です。
std::unordered_map<int,std::string> ump1;
ump1[5] = "hoge"; キー:int型(整数) 値:std::string型(文字列)
ump1[12345] = "fuga";
ump1[-10] = "piyo";
std::unordered_map<std::string,int> ump2; ump2["hoge"] = 300; キー:std::string型(文字列) 値:int型(整数) ump2["fuga"] = 4000; ump2["piyo"] = 55555; </syntaxhighlight> std::mapと似ていますが、値がキーで並び替えられることはありません。
例えば、辞書やルックアップテーブルとして利用できます。より具体的には、商品の名前と価格をそれぞれキー/値とすれば、価格表のように扱うことができます。
[編集] メンバ
| unordered_map_constructors | コンストラクタ(要素の割り当て、コピー、作成済み要素の削除をします。) |
| unordered_map_operators | 演算子オーバーロード(代入、比較、要素へのアクセスができます。) |
| unordered_map_typedefs | イテレータなどのtypedef宣言です。 |
| begin | 連想配列の先頭を指すイテレータを返します。 |
| clear | 連想配列の全ての要素を削除します。 |
| count | キーが一致する要素の数を返します |
| empty | 連想配列の要素が空の場合は、 true を返します。 |
| end | 連想配列の末尾を指すイテレータを返します。 |
| equal_range | 特定のキーと一致する先頭/末尾要素を指すイテレータを返します。 |
| erase | 連想配列から特定の要素を削除します。 |
| find | 連想配列から特定の要素を検索します。 |
| insert | 連想配列に要素を挿入します。 |
| key_eq | キーが等価かを評価する関数を返します。 |
| max_size | 連想配列の要素の最大数を返します。 |
| size | 連想配列の要素数を返します。 |
| swap | 連想配列と他の連想配列を入れ替えます。 |
| (追加中) |