91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

如何在std::remove后處理被移除的元素

c++
小樊
87
2024-08-18 01:35:39
欄目: 編程語言

std::remove函數中,并不會真正移除元素,而是將要移除的元素移到容器的末尾,并返回一個指向新的邏輯結尾的迭代器。如果要處理被移除的元素,可以使用std::remove_if結合std::copy_if或者自定義的處理邏輯來實現。

以下是一種處理被移除的元素的方法:

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

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

    auto it = std::remove(vec.begin(), vec.end(), valueToRemove);

    // 使用std::copy_if將被移除的元素復制到一個新的容器
    std::vector<int> removedElements;
    std::copy_if(vec.begin(), it, std::back_inserter(removedElements), [=](int val) {
        return val == valueToRemove;
    });

    // 打印原始容器
    for (int i : vec) {
        std::cout << i << " ";
    }
    std::cout << std::endl;

    // 打印被移除的元素
    for (int i : removedElements) {
        std::cout << i << " ";
    }
    std::cout << std::endl;

    return 0;
}

在上面的代碼中,我們先使用std::remove將要移除的元素移到容器的末尾,然后使用std::copy_if將被移除的元素復制到一個新的容器中。最后,打印原始容器和被移除的元素。

0
巴马| 商南县| 清涧县| 京山县| 稷山县| 胶州市| 麻城市| 汉源县| 奉节县| 金川县| 永善县| 新泰市| 湘潭市| 南康市| 海林市| 昂仁县| 余干县| 海南省| 乡城县| 乌苏市| 岳普湖县| 启东市| 石首市| 伊通| 特克斯县| 安康市| 堆龙德庆县| 汉源县| 内江市| 渑池县| 昆山市| 融水| 巴东县| 肥东县| 同德县| 来宾市| 东丽区| 梁平县| 巴里| 通渭县| 东阿县|