আমি নিশ্চিত আপনি জানেন যে একটি 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
বোঝায় ।