ポインタsizeof(void*) == sizeof(size_t)
のハッシュが単に にキャストしているとしsize_t
ます。私のセットに要素が含まれているかどうかを知りたいのですが、どちらが速くなりますstd::set<void*>
かstd::unordered_set<void*>
?
仕組みは知っていますstd::set
が、 には詳しくありませんstd::unordered_set
。まあ、順序付けられていないセットはハッシュとバケットを使用し、交差が発生しない場合 (私の場合)、複雑さはO(1)であることを知っています。しかし、この絶え間ない複雑さがどれほどのものかはわかりません。
コンテナー内の日付の量が適切である場合、私の実際のシナリオでは 100 未満です¹。しかし、私の好奇心は、要素が少ない場合と要素が多い場合の両方に関係しています。
¹ 要素の量が非常に少ないため、a でも十分にstd::vector
機能します。