中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

c++ remove_if與erase結合正確嗎

c++
小樊
82
2024-07-26 12:59:11
欄目: 編程語言

在C++中,remove_if和erase通常結合使用來刪除容器中滿足特定條件的元素。remove_if函數用于移動滿足條件的元素到容器末尾并返回一個迭代器,然后可以使用erase函數刪除這些元素。

例如,可以這樣使用remove_if和erase來刪除vector中的偶數元素:

#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    std::vector<int> vec = {1, 2, 3, 4, 5, 6, 7, 8, 9};

    auto it = std::remove_if(vec.begin(), vec.end(), [](int num) {
        return num % 2 == 0;
    });

    vec.erase(it, vec.end());

    for (int num : vec) {
        std::cout << num << " ";
    }

    return 0;
}

上面的代碼首先使用remove_if函數將偶數元素移動到vector的末尾,然后使用erase函數刪除這些元素。最后輸出剩余的奇數元素。

需要注意的是,remove_if只是將滿足條件的元素移動到容器末尾,并沒有真正刪除元素,所以需要結合erase來實際刪除這些元素。

0
岳阳市| 正宁县| 德令哈市| 万载县| 黄骅市| 营山县| 石屏县| 大方县| 奎屯市| 栾川县| 星座| 红桥区| 方山县| 措勤县| 惠东县| 南京市| 禄丰县| 周宁县| 金坛市| 太保市| 炉霍县| 阿拉善右旗| 夏津县| 长垣县| 六安市| 大城县| 合川市| 启东市| 丹棱县| 丰台区| 稻城县| 晋城| 云林县| 金乡县| 宝坻区| 射洪县| 南涧| 胶州市| 新乐市| 辛集市| 临高县|