C++学习笔记-----std::pair作为unordered_map的key
生活随笔
收集整理的這篇文章主要介紹了
C++学习笔记-----std::pair作为unordered_map的key
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
使用pair作為unordered_map的key時會提示這樣的錯誤:
The C++ Standard doesn’t provide a hash for this type.
意思是C++標準中沒有為pair提供hash函數,所以在使用的時候需要人為傳入一個。
pair作為unordered_map的key需要為pair添加hash函數
class ListNode;struct pair_hash {template<class T1, class T2>std::size_t operator() (const std::pair<T1, T2>& p) const{auto h1 = std::hash<T1>{}(p.first);auto h2 = std::hash<T2>{}(p.second);return h1 ^ h2;} };unordered_map<pair<ListNode *, bool>, int> error_hash; //error unordered_map<pair<ListNode *, bool>, int, pair_hash> ok_hash; //ok總結
以上是生活随笔為你收集整理的C++学习笔记-----std::pair作为unordered_map的key的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++学习笔记-----函数调用时的决议
- 下一篇: C++学习笔记-----std::str