Eminim ki bir std::vector<X>
mağaza bir sürü X
nesne saklar , değil mi? Ama varsa std::map<X, Y>
, aslında depoladığı şey bir sürü std::pair<const X, Y>
s. Bir harita tam olarak budur - anahtarları ve ilişkili değerleri birleştirir.
Bir üzerinden std::map
yinelediğinizde, tüm bunları yinelersiniz std::pair
. Bu yineleyicilerden birini iptal ettiğinizde std::pair
, anahtarı ve ilişkili değerini içeren bir anahtar alırsınız .
std::map<std::string, int> m = /* fill it */;
auto it = m.begin();
Burada, şimdi yaparsanız *it
, std::pair
haritadaki ilk öğe için.
Artık tür std::pair
, öğelerine iki üye aracılığıyla erişmenizi sağlar: first
ve second
. Eğer bir varsa Yani std::pair<X, Y>
denilen p
, p.first
bir olan X
nesne ve p.second
bir olduğunu Y
nesne.
Artık bir std::map
yineleyicinin silme işleminin size bir verdiğini std::pair
biliyorsunuz, ardından öğelerine first
ve ile erişebilirsiniz second
. Örneğin, (*it).first
size anahtarı (*it).second
verecek ve size değeri verecektir. Bunlar ile eşdeğerdir it->first
ve it->second
.
std::map
, bir anahtar ve bir değer saklar . değerimap::iterator.second
ifade eder .