c++ - shrink_to_fit() 用于无序容器?

标签 c++ resize containers unordered

我想知道两件事......以类似于 shrink_to_fit() 的方式调整无序容器的大小是否有意义?容器装满后您知道不会再添加任何新元素了吗?这可能不是您通常想要做的事情,因为我猜这些桶只是指针大小。所以...无论如何,在大多数情况下调整大小不会赢得太多空间...还是会有?

其次......那个功能是什么rehash(<bucketcount>) .但是是不是也有类似于shrink_to_fit的功能呢?对于移除所有空桶并相应地重新散列容器的无序容器?

最佳答案

你想看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());

关于c++ - shrink_to_fit() 用于无序容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32785559/

相关文章:

c++ - C++ 中的字面值真的会求值吗?

c++ - OpenGL C++ 制作三角形

css - 根据浏览器的尺寸调整视口(viewport)的大小

css - 如何使内部 DIV 宽度成为设置为自动的外部 div 宽度的百分比

windows - 如何在使用 Windows 主机时挂载 Docker 卷?

c++ - 如何防止 .h 文件中的多个函数定义

c++ - 在后台执行功能?我需要为此线程吗? C++

Android EditText 以编程方式调整大小

c++ - 如何固定输出 C++、STL 中文本的位置

linux - 有没有办法在 Ubuntu 上运行镜像 Windows Docker?