我想知道两件事......一旦容器被填满并且你知道没有添加任何新项目,以类似于shrink_to_fit()
的方式调整无序容器的大小是否合理它?可能这不是你通常想做的事情,因为我认为桶只是指针大小。那么......无论如何,在大多数情况下调整大小都不会有很多空间......或者会在那里?
其次......这个功能会有什么rehash(<bucketcount>)
。但对于无序容器是否还有类似于shrink_to_fit
的函数,它会删除所有空桶并相应地重新处理容器?
答案 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());