码迷,mamicode.com
首页 > 其他好文 > 详细

STL: unordered_map 自定义键值使用

时间:2016-11-02 20:06:45      阅读:346      评论:0      收藏:0      [点我收藏+]

标签:ash   自定义类   str   windows   判断   bsp   tor   win   string   

使用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 自定义键值使用

标签:ash   自定义类   str   windows   判断   bsp   tor   win   string   

原文地址:http://www.cnblogs.com/kindly/p/6023949.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!