求助关于unordered_map的key值(速度
  • 板块学术版
  • 楼主cherubim
  • 当前回复7
  • 已保存回复7
  • 发布时间2021/9/14 08:23
  • 上次更新2023/11/4 06:50:46
查看原帖
求助关于unordered_map的key值(速度
347813
cherubim楼主2021/9/14 08:23

RT,理论上来说unordered_map不能使用pair作为键值,但可以加下面这段代码来实现

struct pair_hash {
    template < class T1, class T2 >
    size_t operator ( ) ( const pair < T1, T2 > &p ) const {
        auto h1 = hash<T1> {}(p.first);
        auto h2 = hash<T2> {}(p.second);
        return h1 ^ h2 ;
    }
};
unordered_map < pair < int, int >, bool, pair_hash > pd ;

但经楼主实测在这样的情况下unordered_map甚至比map要慢得多: 所以在这种情况下map还要快一些是真的吗

2021/9/14 08:23
加载中...