在哪里可以找到具有默认哈希的类型列表(内置类型和标准容器)? (因此当我使用该类型的unordered_set
时,我不需要写一个。)
答案 0 :(得分:4)
您可以找到C ++标准here中定义的专业化列表。但是你不需要知道这些,编译器会告诉你是否需要提供自己的哈希函数。
答案 1 :(得分:1)
C ++标准将包含这样的列表。而不是挖掘它,这是一个部分列表:
原始类型
指针类型; shared_ptr<T>
和unique_ptr<T, D>
std::basic_string<...>
专业化。
std::thread:id
std::type_index
std::error_code
最重要的是,pair
,tuple
和array
包含 。关键的作曲家函数hash_combine
未包含在标准库中,但您可以随意从Boost中获取它。