shrink_to_fit()用于无序容器?

时间:2015-09-25 15:24:28

标签: c++ resize containers unordered

我想知道两件事......一旦容器被填满并且你知道没有添加任何新项目,以类似于shrink_to_fit()的方式调整无序容器的大小是否合理它?可能这不是你通常想做的事情,因为我认为桶只是指针大小。那么......无论如何,在大多数情况下调整大小都不会有很多空间......或者会在那里?

其次......这个功能会有什么rehash(<bucketcount>)。但对于无序容器是否还有类似于shrink_to_fit的函数,它会删除所有空桶并相应地重新处理容器?

1 个答案:

答案 0 :(得分:2)

您想查看load_factor

只有

void max_load_factor( float ml );

而不是min_load_factor,因此除了将元素移动到新容器外,您无法拥有所需的内容。

decltype(orig) shrunk(std::make_move_iterator(orig.begin()),
        std::make_move_iterator(orig.end());