array
array实际上就是包装好的数组,里面提供一些基本的接口,但是没有构造函数和析构函数(因为数组没有构造和析构函数),会在编译时创建一个固定大小的数组,std::array 不能够被隐式的转换成指针,使用 std::array只需指定其类型和大小即可。
hashtable
hash function
hash function的目的就是希望根据元素值计算出一个hash code,使元素经过hash code映射之后能够足够混乱地被放置于hash table内,越是混乱,则越不容易发生碰撞。
下面重点介绍以下C++2.9中string类型的变量的hash function是如何生成hash code的。
这里主要是将string中的每个字符取出来用相同的公式计算结果,新的结果作为一个整体(相当于一个字符),再与下一个字符进行相同的计算,最终的计算结果再对容器的容量求余。
但是在4.9版本中,看不到底层的实现了,只能看到对应函数的声明而看不到定义了,我们只需要相信它足够乱即可。
tuple
这里感觉听了一遍也记不住,这里先贴出别人的博客,以后有心得了再加上吧
博客