मुझे यकीन है कि आप जानते हैं कि वस्तुओं std::vector<X>
का एक पूरा गुच्छा स्टोर करता है X
, है ना? लेकिन अगर आपके पास एक है std::map<X, Y>
, जो वास्तव में संग्रहीत करता है वह एस का एक पूरा गुच्छा है std::pair<const X, Y>
। यह वास्तव में एक नक्शा है - यह कुंजी और संबंधित मूल्यों को एक साथ जोड़ देता है।
जब आप एक से अधिक पुनरावृति std::map
करते हैं, तो आप इन सभी में से अधिक पुनरावृत्ति कर रहे हैं std::pair
। जब आप इन पुनरावृत्तियों में से किसी एक का विरोध करते हैं, तो आपको एक std::pair
कुंजी और उससे संबंधित मान मिलता है।
std::map<std::string, int> m = /* fill it */;
auto it = m.begin();
यहां, यदि आप अब करते हैं, तो आपको मानचित्र में पहले तत्व *it
के std::pair
लिए मिलेगा ।
अब प्रकार std::pair
आपको दो सदस्यों के माध्यम से इसके तत्वों तक पहुंच प्रदान करता है: first
और second
। इसलिए यदि आपके पास एक std::pair<X, Y>
कॉल है p
, p.first
एक X
ऑब्जेक्ट है और p.second
एक Y
ऑब्जेक्ट है।
तो अब आप जानते हैं कि एक std::map
पुनरावृत्ति करने वाला आपको एक देता है std::pair
, तो आप इसके तत्वों का उपयोग कर सकते हैं first
और second
। उदाहरण के लिए, (*it).first
आपको कुंजी (*it).second
देगा और आपको मूल्य देगा। इन के बराबर हैं it->first
और it->second
।
std::map
संग्रहीत करता है । मान को संदर्भित करता है ।map::iterator.second