溫馨提示×

如何定義c++中的predicate函數(shù)

c++
小樊
81
2024-09-15 16:31:52
欄目: 編程語言

在C++中,謂詞(Predicate)函數(shù)是一個返回布爾值的函數(shù),通常用于檢查某種條件是否滿足

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

// 定義一個謂詞函數(shù),檢查輸入的整數(shù)是否為偶數(shù)
bool is_even(int num) {
    return num % 2 == 0;
}

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

    // 使用std::count_if算法和謂詞函數(shù)is_even計算偶數(shù)的數(shù)量
    int even_count = std::count_if(numbers.begin(), numbers.end(), is_even);

    std::cout << "Even numbers count: "<< even_count<< std::endl;

    return 0;
}

在這個示例中,我們定義了一個名為is_even的謂詞函數(shù),它接受一個整數(shù)參數(shù)并檢查它是否為偶數(shù)。然后,我們使用std::count_if算法和is_even謂詞函數(shù)來計算給定整數(shù)向量中偶數(shù)的數(shù)量。

你可以根據(jù)需要定義其他類型的謂詞函數(shù),例如檢查字符串是否為空、檢查對象是否滿足特定條件等。在C++標準庫中,謂詞函數(shù)通常與算法一起使用,以便在容器中篩選元素或執(zhí)行其他操作。

0