如何为我的自定义类型声明哈希函数,以便我可以在unordered_map
中使用它?
答案 0 :(得分:7)
namespace std {
template<>
struct hash<my_custom_type>
{
using argument_type = my_custom_type;
using result_type = size_t;
size_t operator()(my_custom_type const& x) const
{
// Perform your hash algorithm here.
}
};
}
答案 1 :(得分:0)
可能最好的方法是提供std :: hash&lt;的特化。 class Key&gt;与std :: hash&lt; mytype&gt;。