繁体   English   中英

字段用于实现 hash 和 unordered_map 中的比较功能

[英]fields use to implement hash and comparison functions in unordered_map

std::unordered_map中自定义类型的比较和hash function 是否需要使用同一组字段? (即)给出:

struct Foo { int i; float f; };

如果我只使用i生成散列,但同时使用if来实现相等性,我会不会遇到任何问题? 在我的理解中,比较 function 用于确定存储桶中对象相对顺序。 所以我不认为应该有问题,但我不是 100% 确定。

没关系,所需要的只是 x == y 暗示你的方案所做的 hash(x) == hash(y) 。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM