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
適切ではありません。ありがとう!