无序关联容器何时发生重新哈希

When does rehashing occur for unordered associative containers?

本文关键字:新哈希 何时发 关联 无序      更新时间:2023-10-16

我在标准中发现了这一点,作为无序关联容器中rehash函数的后条件:

帖子:a.bucket_count()>a.size()/a.max_load_factor()a.bucket-count()>=n。(n是容器中的桶数)

我是否可以认为,当所有实现都满足上述任一条件时,就会触发自动重新哈希?或者,实现是否可以自由决定何时重新散列,并且以上内容仅适用于rehash函数?

实现应保留load_factor() <= max_load_factor()load_factor() == size() / bucket_count()。因此,在insert期间可以进行自动重新灰化以保持负载因子不变。

虽然load_factor()不能超过max_load_factor(),但我不认为可以保证在插入过程中不会进行重新哈希,即使你可以证明这个不变量不会被违反。

max_load_factor的定义为:

返回容器试图保持负载的正数因子小于或等于。容器自动增加保持负载系数低于此值所需的铲斗数量数字