hash<T*>;}概要クラステンプレートhashは、非順序連想コンテナ(unordered_map/unordered_multimap/unordered_set/unordered_multiset)のキーとなる型のためのハッシュ値を計算する関数オブジェクトである。このクラスはそのものにデフォルトの定義は存在せず、ユーザーが任意の型で特殊化する際の要件を定義する。hashクラステンプレートを特殊化する場合、以下に記述するメンバ関数を持たせる必要がある。std::equal_to<void>のような、is_transparent型を持ち、透過的な比較ができる関数オブジェクト型を指定する。ハッシュ計算の関数オブジェクトがこの型を持っている場合、非順序連想コンテナの透過的な検索関数が有効になる。標準ライブラリのhashクラスの特殊化がこの型を持つかは未規定。char*>やhash<string_view>と等価なハッシュ値を生成できるような場合に定義される。(C++20)transparent_key_equalが定義される場合、以下のようなコードにおいて、find()メンバ関数に文字列リテラルを指定しても、一時的なstringオブジェクトが作成されず、パフォーマンス向上が期待できる。下に提供されています。