2012-07-12 15 views
6

मेरे पास multimap<key_type,value_type> है और मैं यह जानना चाहता हूं कि मानचित्र में एक विशेष कुंजी किसी एक समय में दिखाई देती है या नहीं।मैं कैसे निर्धारित करूं कि एक मल्टीमैप में कोई विशेष कुंजी अद्वितीय है या नहीं?

मैं जानता हूँ कि मैं multimap.equal_range(key) प्रारंभ और key युक्त सीमा की समाप्ति के लिए एक इटरेटर को खोजने के लिए कॉल कर सकते हैं, लेकिन मुझे पता है कि अगर वहाँ range.first और range.second के बीच केवल एक ही तत्व है चाहते हैं।

range.first मूल्य बढ़ाने से बेहतर है कि यह range.end के बराबर है या नहीं? चूंकि multimap::iterator बिडरेक्शनल है, यह वृद्धि को पूर्ववत करने के लिए एक बड़ा सौदा नहीं है लेकिन ऐसा करने के लिए यह बेवकूफ लगता है।

उत्तर

7

क्या आप देख सकते हैं कि std::multimap::count(key) == 1?

+0

आह, 'गिनती' अधिभार नहीं देखा था। उत्तम। मैं पुष्टि करूंगा कि यह कल काम करता है और उत्तर के रूप में चिह्नित करता है। –

+0

@LarryOsterman उद्धरण में होना चाहिए "कुंजी" होना चाहिए? मुझे उद्धरण के बिना यह पसंद आया क्योंकि 'कुंजी' एक चर हो सकता है। @Nawaz बेहतर संदर्भ साइट लिंक –

+0

के लिए धन्यवाद नहीं, यह नहीं है - यह मेरा बुरा था, मेरे मामले में कुंजी एक स्ट्रिंग है और मैं दूरी पर हूं। मैं पूर्ववत कर दूंगा। –

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

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