C++中的unorderd容器支持自定义哈希函数
发布时间
阅读量:
阅读量
unordered_map的定义如下:
template<class Key,
class Ty,
class Hash = std::hash<Key>,
class Pred = std::equal_to<Key>,
class Alloc = std::allocator<std::pair<const Key, Ty> > >
class unordered_map;
> class unordered_map
第一个参数用于保存键值。
第二个参数用于存储对应的映射值。
第三个参数是一个哈希函数的函数对象,该对象以键为输入,并通过其内部的哈希函数生成一个类型为size_t的唯一哈希值。默认情况下,使用的是std::hash< key >。
第四个参数是一个等价性判断函数的函数对象,其通过重载的等号操作符’=='来比较两个键是否相等,返回一个布尔类型的值。默认情况下采用的是std::equal_to< key >。
当需要使用哈希功能时,若目标类型并非STL标准库中已定义的类型,例如某个用户自定义的类,此时将无法直接使用STL提供的默
全部评论 (0)
还没有任何评论哟~
