2010-10-14 13 views

उत्तर

19

आप किसी भी प्रकार का मानचित्र कुंजी के रूप में उपयोग कर सकते हैं, जब तक यह operator< (साथ ही कंटेनर में संग्रहीत मानों के लिए सामान्य प्रति-और-असाइन आवश्यकताएं) लागू करता है।

उदाहरण के लिए:

struct example { int x; } 

bool operator < (const example &l, const example &r) { return l.x < r.x; } 

std::map<example, int> values; 

वैकल्पिक रूप से, आप के बजाय operator< को परिभाषित करने के नक्शे को टेम्पलेट के तीसरे तर्क के रूप में एक तुलना समारोह प्रदान कर सकता है। अधिक जानकारी here (पैरामीटर Compare)।

+2

"जब तक यह ऑपरेटर लागू करता है <" - या इस प्रकार के लिए 'std :: less' का विशेषज्ञता है। 'मानचित्र' डिफ़ॉल्ट रूप से 'कम' का उपयोग करता है, और 'कम' डिफ़ॉल्ट रूप से 'ऑपरेटर <' का उपयोग करता है, इसलिए इसमें दो मार्ग हैं। –

संबंधित मुद्दे

 संबंधित मुद्दे