什么是 C++ std::unordered_map 默认容器?
what is c++ std::unordered_map default container?
我正在研究unordered_map的内部逻辑。
并且发现它使用容器。并使用键值来查找值。
是unordered_mapstd::vector的默认容器吗??
而且是其他容器,比如std::map可以吗?
unordered_map是通过散列table实现的,所以这里没有所谓的“默认容器”。
签名:
template<
class Key,
class T,
class Hash = std::hash<Key>,
class KeyEqual = std::equal_to<Key>,
class Allocator = std::allocator< std::pair<const Key, T> >
> class unordered_map;
此处唯一的“默认”类型是键哈希函数、键比较器和分配器。
如果你指的是用来装水桶的容器,它通常只是生的 BucketType*
我正在研究unordered_map的内部逻辑。
并且发现它使用容器。并使用键值来查找值。
是unordered_mapstd::vector的默认容器吗??
而且是其他容器,比如std::map可以吗?
unordered_map是通过散列table实现的,所以这里没有所谓的“默认容器”。 签名:
template<
class Key,
class T,
class Hash = std::hash<Key>,
class KeyEqual = std::equal_to<Key>,
class Allocator = std::allocator< std::pair<const Key, T> >
> class unordered_map;
此处唯一的“默认”类型是键哈希函数、键比较器和分配器。
如果你指的是用来装水桶的容器,它通常只是生的 BucketType*