#include <bits/stdc++.h> using namespace std; struct Data { int val; Data(int _val):val(_val){} }; //重载hash函数 放入到容器中 struct HashFunc { std::size_t operator()(const Data &key) const { using std::hash; return hash<int>()(key.val); } }; //实现比较函数,用来解决碰撞问题 struct EqualKey { bool operator () (const Data &lhs, const Data &rhs) const { return lhs.val == rhs.val; } }; int main() { unordered_map<Data, Data, HashFunc, EqualKey> datamap; datamap.insert(make_pair(Data(0), Data(1))); datamap.insert(make_pair(Data(2), Data(3))); datamap.insert(make_pair(Data(4), Data(5))); datamap.insert(make_pair(Data(6), Data(7))); auto it = datamap.find(Data(4))->second; cout << it.val<< endl; }
unorder_map添加自定义类型
猜你喜欢
转载自www.cnblogs.com/randyniu/p/9470387.html
今日推荐
周排行