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 型で返してくれます。


[ もどる ]