​std::map<X, Y>​​​实际储存了一串​​std::pair<const X, Y>​

std::map<std::string, int> m = /* fill it */;
auto it = m.begin();

这里,如果你用​​*it​​​,那么你将得到​​map​​​第一个元素的​​std::pair​​:

现在你可以接收​​std::pair​​的两个元素:

​(*it).first​​会得到key

​(*it).second​​会得到value

这等同于​​it->first​​​和​​it->second​