亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

c++ map刪除對迭代器的影響

c++
小樊
92
2024-06-25 16:55:29
欄目: 編程語言

在C++中,使用std::maperase()函數刪除一個元素時,會使得傳入的迭代器無效化。這意味著如果你嘗試在刪除元素后繼續使用該迭代器,就會導致未定義的行為。

如果您要在刪除元素后繼續迭代std::map,您應該在刪除元素之后遞增迭代器,而不是繼續使用已刪除的迭代器。另外,您還可以使用std::mapfind()函數來查找下一個元素的迭代器。

以下是一個示例代碼,展示了如何在刪除元素后繼續迭代std::map

#include <iostream>
#include <map>

int main() {
    std::map<int, std::string> myMap;
    myMap[1] = "one";
    myMap[2] = "two";
    myMap[3] = "three";

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

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

    return 0;
}

在上面的示例中,我們刪除了鍵為2的元素,并且在刪除后繼續遍歷std::map

0
诸城市| 重庆市| 白朗县| 正镶白旗| 通化市| 黄梅县| 静宁县| 尉犁县| 新闻| 师宗县| 河南省| 崇义县| 鸡西市| 宁夏| 黑龙江省| 绥棱县| 广平县| 赤壁市| 平陆县| 荣昌县| 武鸣县| 滦南县| 德庆县| 巴楚县| 南雄市| 靖远县| 建平县| 吉林市| 台安县| 视频| 如皋市| 定陶县| 洮南市| 博兴县| 铜山县| 徐州市| 花莲市| 禄丰县| 霍邱县| 沧源| 慈溪市|