最近在使用STL中unordered_map这种容器的时候发现无法将key设置为pair类型,编译报错信息为: 查了下资料才发现unordered_map中没有针对pair的hash函数,需要手动传入一个hash函数。hash函数的一种简单实现如下: 接下来把这个hash函数传给unordered_map就OK了! 因为map容器并不需要hash函数,所以将key设置为pair是不会报错的。在数据量不大的情况下,也可以考虑使用map替代unordered_map,性能并不会有太大差异。error: implicit instantiation of undefined template 'std::__1::hash<std::__1::pair<int, int> >
struct hash_pair { template <class T1, class T2> size_t operator()(const pair<T1, T2>& p) const { auto hash1 = hash<T1>{}(p.first); auto hash2 = hash<T2>{}(p.second); return hash1 ^ hash2; } };
unordered_map<pair<int,int>, int, hash_pair> um;
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算