c++のmapを繰り返し処理する方法は何ですか?

C++で、mapを走査するためには、イテレータを使用することができます。以下は、一般的ないくつかの走査方法です。

  1. イテレーターを使用してループする:
std::map<KeyType, ValueType> myMap;
// 向myMap中插入元素...

for(auto it = myMap.begin(); it != myMap.end(); ++it) {
    // 使用it->first访问键,使用it->second访问值
    std::cout << "Key: " << it->first << ", Value: " << it->second << std::endl;
}
  1. C++11以上ではforループを使用して範囲を繰り返すことができます。
std::map<KeyType, ValueType> myMap;
// 向myMap中插入元素...

for(const auto& pair : myMap) {
    // 使用pair.first访问键,使用pair.second访问值
    std::cout << "Key: " << pair.first << ", Value: " << pair.second << std::endl;
}
  1. C ++ 11以上を使用したアルゴリズムを使用して、(C ++ 11以上):
std::map<KeyType, ValueType> myMap;
// 向myMap中插入元素...

std::for_each(myMap.begin(), myMap.end(), [](const std::pair<KeyType, ValueType>& pair){
    // 使用pair.first访问键,使用pair.second访问值
    std::cout << "Key: " << pair.first << ", Value: " << pair.second << std::endl;
});

以上はよく使われるマップの操作方法の3つで、具体的なニーズに合わせて選択することができます。

bannerAds