C++: How to compute hash value from several hashable members? -


suppose have c++ class

class t {   type1 member1;   type2 member2;   type3 member3;   unsigned long hash() {     // how implement?   } }; 

assuming each member hash hash function member.hash(). best way implement hash function of class t? java has hashcodebuilder class specific task, there counterpart in c++?

i know 1 possible solution like

member1.hash() + member2.hash() * 17 + member3.hash() * 37 

is hash function? , how should choose constants 17, 37, etc., esp. if more 3 members?

another minor question assuming 1 of member primitive type (int, float, string, etc.), how should generate hash value it?

boost has this: hash_combine

size_t seed = 0; boost::hash_combine(seed, member1); boost::hash_combine(seed, member2); boost::hash_combine(seed, member3); return seed; 

Comments

Popular posts from this blog

c++ - QTextObjectInterface with Qml TextEdit (QQuickTextEdit) -

javascript - angular ng-required radio button not toggling required off in firefox 33, OK in chrome -

xcode - Swift Playground - Files are not readable -