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

溫馨提示×

c++中如何組合多個predicate

c++
小樊
83
2024-09-15 16:41:47
欄目: 編程語言

在C++中,你可以使用標準庫中的std::functionstd::bind來組合多個謂詞(predicate)

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

bool is_even(int n) {
    return n % 2 == 0;
}

bool is_positive(int n) {
    return n > 0;
}

int main() {
    std::vector<int> numbers = {-2, -1, 0, 1, 2, 3, 4, 5, 6};

    // 創建一個組合謂詞,要求數字既是正數又是偶數
    std::function<bool(int)> combined_predicate = [](int n) {
        return is_even(n) && is_positive(n);
    };

    // 使用組合謂詞過濾向量
    std::vector<int> filtered_numbers;
    std::copy_if(numbers.begin(), numbers.end(), std::back_inserter(filtered_numbers), combined_predicate);

    // 輸出過濾后的結果
    for (int number : filtered_numbers) {
        std::cout<< number << " ";
    }

    return 0;
}

在這個示例中,我們定義了兩個簡單的謂詞:is_evenis_positive。然后,我們創建了一個新的謂詞combined_predicate,它將這兩個謂詞組合在一起,要求數字既是正數又是偶數。最后,我們使用std::copy_ifcombined_predicate過濾向量,并輸出過濾后的結果。

0
宝鸡市| 湖州市| 惠州市| 泰顺县| SHOW| 庄浪县| 邯郸市| 凭祥市| 龙口市| 德令哈市| 栾川县| 关岭| 祁门县| 南充市| 乌恰县| 洪洞县| 宁远县| 玉林市| 石泉县| 兴义市| 普兰县| 中江县| 武冈市| 卢氏县| 民权县| 盖州市| 阿克陶县| 阿图什市| 新兴县| 景德镇市| 双江| 波密县| 营口市| 梓潼县| 司法| 郯城县| 宝坻区| 永顺县| 凤翔县| 呼图壁县| 上饶市|