什么是 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*