溫馨提示×

如何利用迭代器遍歷C++ unordered_map

c++
小樊
150
2024-07-25 00:54:11
欄目: 編程語言

在C++中,可以利用迭代器來遍歷unordered_map。下面是一個示例代碼:

#include <iostream>
#include <unordered_map>

int main() {
    std::unordered_map<std::string, int> myMap = {
        {"Alice", 20},
        {"Bob", 25},
        {"Charlie", 30}
    };

    for (auto it = myMap.begin(); it != myMap.end(); ++it) {
        std::cout << "Key: " << it->first << ", Value: " << it->second << std::endl;
    }

    return 0;
}

在上面的示例中,首先創建了一個unordered_map對象myMap,并初始化了一些鍵值對。然后通過使用迭代器從begin()開始遍歷unordered_map中的所有元素,直到end()。在循環中,通過it->first和it->second可以訪問到當前元素的鍵和值。

另外,也可以使用范圍for循環來遍歷unordered_map,示例代碼如下:

#include <iostream>
#include <unordered_map>

int main() {
    std::unordered_map<std::string, int> myMap = {
        {"Alice", 20},
        {"Bob", 25},
        {"Charlie", 30}
    };

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

    return 0;
}

這種方法比較簡潔,直接通過pair.first和pair.second訪問鍵值對。不過需要注意的是,在范圍for循環中使用const auto&,可以提高性能并避免不必要的復制。

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