c_cpp 存储器使用的-的-unordered_map.cpp

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 存储器使用的-的-unordered_map.cpp相关的知识,希望对你有一定的参考价值。

// 通过load_factor获取
template <typename Key, typename T>
auto real_size1(unordered_map<Key, T> map) {
    decltype(map.size()) sz;
    if (map.max_load_factor() <= 1)
        sz = map.bucket_count();
    else
        sz = map.bucket_count() * map.max_load_factor();
    return sz;
}

// 通过bucket_size获取
template <typename Key, typename T>
auto real_size2(unordered_map<Key, T> map) {
    decltype(map.size()) sz = 0;
    for (decltype(map.bucket_count()) i = 0; i < map.bucket_count(); ++i)
        sz += map.bucket_size(i) == 0 ? 1 : map.bucket_size(i);
    return sz;
}

以上是关于c_cpp 存储器使用的-的-unordered_map.cpp的主要内容,如果未能解决你的问题,请参考以下文章

仅使用带有键的 unordered_map 来存储指针(忽略值)

std::find (unordered_)map

unordered_map的哈希HASH重载——举例unordered_map与pair联合使用

在 STL 中使用 unordered_map 存储键值对

Unordered_map 擦除方法存储临时变量

c++ map unordered_map使用大全