首页 > 代码库 > STL: unordered_map 自定义键值使用
STL: unordered_map 自定义键值使用
使用Windows下 RECT 类型做unordered_map 键值
1. Hash 函数
计算自定义类型的hash值。
struct hash_RECT { size_t operator()(const RECT &rc) const { return std::_Hash_seq((const unsigned char *)&rc, sizeof(RECT)); } };
2. 相等函数
哈希需要处理碰撞,意味着必须判断两个自定义类型对象是否相等。
struct cmp_RECT { bool operator()(const RECT &rc1, const RECT &rc2) const { return rc1.left == rc2.left && rc1.top == rc2.top && rc1.right == rc2.right && rc1.bottom == rc2.bottom; } };
3. 使用
std::unordered_map<RECT, std::wstring, hash_RECT, cmp_RECT> G_mapText
STL: unordered_map 自定义键值使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。