溫馨提示×

c++中hashmap遍歷刪除的方法是什么

小億
128
2024-02-20 09:12:30
欄目: 編程語言

在C++中,可以使用迭代器來遍歷和刪除hashmap中的元素。以下是一種常見的方法:

#include <iostream>
#include <unordered_map>

int main() {
    std::unordered_map<int, std::string> hashMap = {{1, "apple"}, {2, "banana"}, {3, "cherry"}};

    for(auto it = hashMap.begin(); it != hashMap.end();) {
        if(it->first == 2) {
            it = hashMap.erase(it);
        } else {
            ++it;
        }
    }

    for(auto& pair : hashMap) {
        std::cout << pair.first << ": " << pair.second << std::endl;
    }

    return 0;
}

在上面的示例中,我們使用迭代器it遍歷hashmap,并在滿足條件時使用erase方法刪除元素。請注意,在刪除元素之后,需要將迭代器it遞增到下一個元素,以避免遍歷時跳過元素或發(fā)生未定義的行為。

0