คำถามติดแท็ก unordered-set

3
จะเชี่ยวชาญ std :: hash <Key> :: operator () สำหรับชนิดที่ผู้ใช้กำหนดในคอนเทนเนอร์ที่ไม่ได้เรียงลำดับได้อย่างไร
ในการรองรับประเภทคีย์ที่ผู้ใช้กำหนดstd::unordered_set&lt;Key&gt;และstd::unordered_map&lt;Key, Value&gt; ต้องระบุoperator==(Key, Key)และแฮช functor: struct X { int id; /* ... */ }; bool operator==(X a, X b) { return a.id == b.id; } struct MyHash { size_t operator()(const X&amp; x) const { return std::hash&lt;int&gt;()(x.id); } }; std::unordered_set&lt;X, MyHash&gt; s; จะสะดวกกว่าในการเขียนstd::unordered_set&lt;X&gt; โดยใช้แฮชเริ่มต้นสำหรับประเภทXเช่นประเภทที่มาพร้อมกับคอมไพเลอร์และไลบรารี หลังจากปรึกษา C ++ Standard Draft N3242 §20.8.12 …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.