2

次のタスクでは、非常に大きなハッシュを使用する必要があります。古いコンパイラを使用しているため、C++0xを使用できませんstd::unordered_map。理想的には、reserveたくさんのアイテムのために事前に部屋を空けるための電話が必要です。私はこの方法を見つけることができませんboost::unordered_map:同じことを達成する場所や機能はありますか?

2つの連想コンテナは同じです。バケットの数を制御するための関数と同じコンストラクターは表示rehashされますが、要素の数に関する関数は表示されません。

それを手伝ってくれませんか。

4

1 に答える 1

6

reserverehashN3376 の表 103 のようにエミュレートできます。

a.rehash(n) 
Post: a.bucket_count() > a.size() / a.max_load_factor() 
      and a.bucket_count() >= n.

a.reserve(n) Same as a.rehash(ceil(n / a.max_load_factor()))
于 2012-05-16T12:12:58.463 に答える