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

溫馨提示×

如何在C++中使用copy_if與lambda表達式結合

c++
小樊
83
2024-09-25 01:29:14
欄目: 編程語言

在 C++ 中,std::copy_if 是一個算法,用于從一個輸入范圍復制滿足特定條件的元素到輸出范圍

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

int main() {
    // 初始化一個整數向量
    std::vector<int> input = {1, 2, 3, 4, 5, 6, 7, 8, 9};

    // 創建一個新的向量,用于存儲滿足條件的元素
    std::vector<int> output;

    // 使用 lambda 表達式定義條件:將偶數復制到輸出向量中
    auto condition = [](int num) { return num % 2 == 0; };

    // 使用 copy_if 算法將滿足條件的元素從輸入向量復制到輸出向量
    std::copy_if(input.begin(), input.end(), std::back_inserter(output), condition);

    // 輸出結果
    std::cout << "Output vector: ";
    for (int num : output) {
        std::cout << num << " ";
    }

    return 0;
}

在這個示例中,我們首先定義了一個輸入向量 input,然后創建了一個新的向量 output 用于存儲滿足條件的元素。接下來,我們定義了一個 lambda 表達式 condition,用于檢查一個整數是否為偶數。最后,我們使用 std::copy_if 算法將滿足條件的元素從輸入向量復制到輸出向量,并使用 std::back_inserter 作為目標范圍的插入迭代器。運行此程序將輸出以下結果:

Output vector: 2 4 6 8

0
房产| 亳州市| 平远县| 五常市| 乐亭县| 襄垣县| 秦皇岛市| 赤城县| 临武县| 轮台县| 利川市| 贵南县| 仙游县| 涪陵区| 中宁县| 巍山| 汤原县| 黄冈市| 三原县| 平顺县| 溧水县| 阜城县| 新民市| 乌兰察布市| 恩施市| 南城县| 铁力市| 灯塔市| 泾源县| 文山县| 上饶市| 阿荣旗| 曲水县| 巩义市| 报价| 新化县| 饶河县| 志丹县| 普陀区| 天全县| 大兴区|