1.bucket(key)函数:它返回key键值所在的桶(存储区)的编号。
2.unordered_map 的begin()函数:注意,它是无序的,它返回一个unordered_map类型的迭代器(指针),它指向的位置不明确,是里面元素的任意一个。
3.cbegin()函数:是迭代器是指向一个元素的,不变,它指向的值也不能被改变。
4.cend()函数也同上。
5.bucket_count():返回容器中的桶数。注意,定义一个unordered_map容器,它是用哈希算法确定有几个桶。
桶的源码解析:https://www.zhihu.com/question/486008617/answer/2441189945
6.load_factor():返回每个桶的平均元素数量,就是unordered_map中的所有桶的平均元素值。
7.max_load_factor():管理每个桶中平均元素数量的最大值。最大因子为1,表示每个桶最多一个元素。
8.rehash(指定数量的桶):为至少为指定数量的桶预留存储空间并重新生成散列表。(注意,指定数量的桶的数不能比元素数量少,如果比元素数量少,则会把元素数当成桶数。)
9.reserve(n)函数:这个函数比较难,它创建足够多的bucket来容纳n个元素,如果以后添加的元素数量大于n,则它会重新触发哈希操作,具体触发取决于负载系数。这个函数将容器中的桶设置为最合适的大小,至少存放n个元素。(至于reserve(n)后出现的桶数,则是由哈希算法决定,肯定不是和咋们预想的那样一样。)
这个网址可以看看 http://www.manongjc.com/detail/30-ynxplxiagpxklvm.html