溫馨提示×

如何高效地遍歷C++ unordered_map

c++
小樊
123
2024-07-25 00:44:15
欄目: 編程語言

在遍歷C++ unordered_map時,可以使用迭代器來實現高效遍歷。以下是一種常用的方法:

#include <iostream>
#include <unordered_map>

int main() {
    std::unordered_map<int, std::string> myMap = {{1, "one"}, {2, "two"}, {3, "three"}};
    
    for(auto it = myMap.begin(); it != myMap.end(); ++it) {
        std::cout << "Key: " << it->first << " Value: " << it->second << std::endl;
    }
    
    return 0;
}

在這個例子中,我們使用迭代器it來遍歷unordered_mapmyMap。通過it->firstit->second可以訪問鍵和值。這種方法避免了使用at()[]方法,因為這些方法會導致unordered_map的重新哈希,降低遍歷效率。

除了使用迭代器,C++11引入了范圍for循環,也可以用來遍歷unordered_map:

for(const auto& pair : myMap) {
    std::cout << "Key: " << pair.first << " Value: " << pair.second << std::endl;
}

這種方法更加簡潔明了,但在某些情況下可能會影響性能。因此,根據實際情況選擇合適的遍歷方法來高效地遍歷C++ unordered_map。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女