問題タブ [stdhash]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
4425 参照

c++ - std::hash ではない理由char* に特化した?

C++ 標準が、、、などにstd::hash<T>特化したことを指定しないのはなぜですか? つまり、終端の null が見つかるまで、C 文字列の内容をハッシュします。char*const char*unsigned char*const unsigned char*

std自分の特殊化を自分のコードの名前空間に挿入することに害はありますか?

0 投票する
2 に答える
1784 参照

c++11 - std::hash がオーバーロードされた関数ではないのはなぜですか?

std::hashオーバーロードされた関数の解決中に行われる暗黙的な型変換を避けるために、テンプレート構造体として定義されていると思います。言うのは正しいことですか?

つまり、私は書くことを好むだろう

それ以外の

しかし、標準化委員会が 2 番目のオプションを選択したのには理由があると思います。

0 投票する
2 に答える
7045 参照

c++ - std::hash をオーバーライドできますか?

の実際の実装をC++ 11std::hashの独自の定義に置き換えることができますか?std::hash

標準ライブラリには触れずに、私のコードベースからという意味です。

この場合、仮想関数/ポリモーフィズムの使用は見られないので、とにかく std::hash の定義を変更できないと思いますか?

0 投票する
3 に答える
3758 参照

c++ - std::hash を使用して関数ポインタをハッシュできますか?

std::hash関数ポインターのハッシュにC++11 型を使用できますか? hash次のように定義された部分的な特殊化があります。

しかし、関数ポインターは C++ の他のポインター型とは異なるため (たとえば、 にキャストすることはできません)、やvoid*のような型に使用しても安全かどうかはわかりません。int(*)()void(*)(int, int)

これは許可されていますか?新しい ISO 仕様に、これを支持または反論する特定の文言はありますか?

ありがとう!

0 投票する
1 に答える
3925 参照

c++ - std::hash アルゴリズムとサイズ

私は C++11 と std::hash アルゴリズムを使用しています。私は、実際にどのハッシュ実装が使用されているのだろうかと思っていました。MD5 または SHA だと思いますが、インターネットから情報を掘り下げることはできません。

また、MySQL に格納する必要があるため、実際に返されるハッシュのビット幅を知りたいです。

最後に、 crypto++ などの他のライブラリよりも std::hash を使用することをお勧めしますか?

0 投票する
2 に答える
9584 参照

c++ - std::hash が関数ではなく構造体であるのはなぜですか?

標準ライブラリは std::hash をさまざまな型に特化したテンプレート構造体として実装します。次のように使用されます。

私の質問は、このデザインの選択の背後にある理由は何ですか. テンプレート関数として実装されず、次のように使用される理由:

0 投票する
1 に答える
2232 参照

c++11 - std::hash の派生クラスへの特殊化

Hashableハッシュ可能なクラスの派生元となる抽象基本クラスがあります。std::hashから派生するすべてのクラスに拡張したいと思いますHashable

次のコードはまさにそれを行うことになっています。

上記のコードは gcc 4.8.1 では期待どおりに動作しますが、gcc 4.7.2 でコンパイルしようとすると、次のようになります。

gcc 4.7.2std::hashから派生した任意のクラスでこの特殊化を機能させる方法を考えられる人はいますか?Hashable