How can I store objects of a class in an unordered_set
? My program needs to frequently check if an object exists in this unordered_set
and if it does, then do some update on that object.
I have looked up online on how to use unordered_set
, but sadly most tutorials are about using it on int
or string
types. But how can I use it on a class? How can I define a hash function to make the node_id
in the following example the key of the unordered_set
?
#include <iostream>#include <unordered_set>using namespace std;// How can I define a hash function that makes 'node' use 'node_id' as key? struct node{ string node_id; double value; node(string id, double val) : node_id(id), value(val) {}};int main(){ unordered_set<node> set; set.insert(node("1001", 100)); if(set.find("1001") != set.end()) cout << "1001 found"<< endl;}