c++ - C++ STL 中 hash_map 结构的内存开销

标签 c++ hash stl unordered-map

为了使用hash_map,我假设会分配一个连续的内存块,但是默认情况下这个 block 的大小是多少?

最佳答案

以下是针对 unordered_map - C++11 及更高版本中 HashMap 的名称...

虽然初始大小是特定于实现的,但默认的 .max_load_factor() Standard规定为1.0,所以一般情况下bucket的数量只会在.size()变大的时候自动增加。让您对事物有一点感觉....

您也可以调用.bucket_count()获取瞬时计数。

关于c++ - C++ STL 中 hash_map 结构的内存开销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25945866/

相关文章:

c++ - 从 MPC(Makefile、项目和工作区创建器)添加 MAKEFLAGS

c++ - 仅在 GCC 4.8.2 x86 (devtoolset-2) 上使用前导包扩展进行模板推导失败

c++ - STL 列表迭代问题

android - Xcode 编译 C++ 代码,但 Eclipse 不编译

c++ - 如何在 C++ operator() 中专门化调用模板?

arrays - 有没有更优雅的方法将这个数组转换为散列?

php - 较旧的 php 版本的password_compat

sql - SQL Server 中的哈希集等效项

c++ - 自动引用 vector ?

c++ - 将 std::deque 内容复制到字节数组的最有效方法