溫馨提示×

C++遍歷map刪除特定的元素

c++
小億
156
2023-12-26 17:25:54
欄目: 編程語言

在C++中,可以使用迭代器來遍歷map,并在遍歷過程中刪除特定的元素。下面是一個示例代碼:

#include <iostream>
#include <map>

int main() {
    std::map<int, std::string> myMap;
    myMap[1] = "One";
    myMap[2] = "Two";
    myMap[3] = "Three";
    myMap[4] = "Four";

    // 遍歷map并刪除特定的元素
    for(auto it = myMap.begin(); it != myMap.end(); ) {
        if(it->second == "Two") {
            it = myMap.erase(it);
        } else {
            ++it;
        }
    }

    // 輸出剩余的元素
    for(auto const& pair : myMap) {
        std::cout << pair.first << ": " << pair.second << std::endl;
    }

    return 0;
}

上述代碼創(chuàng)建了一個包含四個元素的map。然后,使用迭代器遍歷map,并在遍歷過程中刪除值為"Two"的元素。最后,輸出剩余的元素。輸出結(jié)果如下:

1: One
3: Three
4: Four

在遍歷過程中刪除元素時,需要注意的是,刪除元素后迭代器會失效,必須使用返回的新迭代器繼續(xù)遍歷。

0