C++如何计算普通类型的 Hash 值:基于 gcc/clang 源码分析
当 int/long/float/指针/std::string 作为 std::unordered_map 的 key 时,C++底层是如何计算 hash 值的?
gcc/clang 作为使用最多的两种编译器和标准库,它们在这个问题的实现上略有差异。本文将基于二者的源码进行对比分析。
含有 #Hash 标签的所有内容。
当 int/long/float/指针/std::string 作为 std::unordered_map 的 key 时,C++底层是如何计算 hash 值的?
gcc/clang 作为使用最多的两种编译器和标准库,它们在这个问题的实现上略有差异。本文将基于二者的源码进行对比分析。
BloomFilter(布隆过滤器)是一种可以高效地判断元素是否在某个集合中的算法。
在很多日常场景中,都大量存在着布隆过滤器的应用。例如:检查单词是否拼写正确、网络爬虫的 URL 去重、黑名单检验,微博中昵称不能重复的检测等。