std::string のハッシュ値を取得する - C++ プログラミング
PROGRAM
std::string のハッシュ値を取得する
C++ の std::string のハッシュ値は <functional> ヘッダーに定義されている std::hash<> 構造体を使って取得できます。
// string 変数に格納された std::string 文字列のハッシュ値を取得します。
size_t hash = std::hash<std::string>()(string);
敢えて 1 行で書いてみましたけど、やっていることは、まず "std::hash<std::string>()" のところで std::hash<std::string> のインスタンスを作成して、続く "(string)" でそのインスタンスの () 演算子に string という変数を渡しています。
std::hash<> 構造体の () 演算子では、引数に渡された値のハッシュ値を計算して size_t 型で返してくれます。
[ もどる ]