std::set<>
और std::map<>
दोनों एक कुंजी के रूप में std::pair
का उपयोग कर सकते हैं, लेकिन std::unordered_set<>
और std::unordered_map<>
क्यों नहीं दे सकते?मैं जोड़ी का उपयोग unordered_set/unordered_map की कुंजी के रूप में क्यों नहीं कर सकता?
उदाहरण के लिए:
unordered_set<pair<int,int> > S;
S.insert(make_pair(0, 1));
संकलन नहीं करता है।
S.emplace (... भी काम करेगा, और नहीं तो, क्या आप बदल जाएगा – HeinrichStack
@Barry p.first कर सकते हैं^p.second p_a की तरह अलग अलग जोड़े के लिए एक ही मूल्य मिलता है और p_b? – olivia
@olivia बेशक। यह निश्चित रूप से आपको '(ए, बी)' और '(बी, ए) 'के लिए एक ही मूल्य देगा। यह एक आदर्श हैश फ़ंक्शन होने का इरादा नहीं है, केवल एक साधारण उदाहरण है। – Barry