1

std::hashそのため、 の使用とその標準実装に関する多くの記事、ドキュメント ページ、投稿、ベンチマークなどを読んできました。

あらすじ

hereを見ると、std::hashは常に を返すように見えます。これは、実装に依存しますが、ここstd::size_tから続くサイズは少なくとも16 ビットまたは 2 バイトです。

しかし、これは私に関係があります。std::hashハッシュが少なくとも32ビットになるという保証さえできない場合(そして、64ビットを返すことを本当に望んでいます)、文字列でどのように使用できますか。

私の特定の x64 マシンstd::size_tでは が として定義されてlong unsigned intいますが、プログラムを展開するときにこれが保証されていないようです。

質問

これを回避する方法はありstd::hashますか?

結論

コメントから判断すると、std::hash適切ではありません。ありがとう!

4

1 に答える 1