c++のmapを繰り返し処理する方法は何ですか?
C++で、mapを走査するためには、イテレータを使用することができます。以下は、一般的ないくつかの走査方法です。
- イテレーターを使用してループする:
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;
}
- 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;
}
- 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つで、具体的なニーズに合わせて選択することができます。