2012-03-26 26 views
4

我發現這個標準作爲後條件爲rehash功能在無序關聯式容器:何時對無序關聯容器進行重新散列?

發表:)a.bucket_count()> a.size(/ a.max_load_factor() a.bucket_count()> = n。 (n爲桶的容器內的數)

能否取上述的意思是,當任一上述條件被滿足用於所有實現的自動重散列被觸發?或者,是否可以自由決定什麼時候重新刷新,以上只適用於rehash函數?

回答

7

執行應保留load_factor() <= max_load_factor()load_factor() == size()/bucket_count()。因此在insert期間可能會發生自動重新刷新,以保持負載因數不變。

雖然load_factor()不能超過max_load_factor(),我不認爲有是沒有換湯不換藥將插入過程中完成,即使你能證明這不變不被侵犯的保證。

max_load_factor

定義是:

返回一個正數,該容器試圖保持負載 因子大於或等於以下。容器會根據需要自動增加桶的數量,以將荷載係數保持在此數字的下方 。

相關問題