溫馨提示×

如何在c++中使用lambda表達(dá)式與all_of結(jié)合

c++
小樊
86
2024-09-04 18:57:52
欄目: 編程語言

在C++中,std::all_of是一個算法,它接受一個范圍(起始迭代器和終止迭代器)以及一個斷言(通常是一個函數(shù)或函數(shù)對象),然后返回一個布爾值,表示該范圍內(nèi)的所有元素是否都滿足該斷言。

當(dāng)結(jié)合Lambda表達(dá)式時,你可以方便地為std::all_of提供一個"匿名"的函數(shù),用于檢查容器中的所有元素是否滿足特定條件。

以下是一個例子,展示了如何在C++中使用Lambda表達(dá)式與std::all_of

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

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

    // 使用Lambda表達(dá)式檢查numbers中的所有元素是否都小于10
    bool allBelowTen = std::all_of(numbers.begin(), numbers.end(), [](int n) {
        return n < 10;
    });

    if (allBelowTen) {
        std::cout << "所有元素都小于10."<< std::endl;
    } else {
        std::cout << "存在大于等于10的元素."<< std::endl;
    }

    return 0;
}

在這個例子中,我們創(chuàng)建了一個包含整數(shù)的向量numbers。然后,我們使用std::all_of來檢查numbers中的所有元素是否都小于10。我們?yōu)?code>std::all_of提供了一個Lambda表達(dá)式,該表達(dá)式接受一個整數(shù)參數(shù)n并返回一個布爾值,表示n是否小于10。

運(yùn)行此程序?qū)⑤敵?“所有元素都小于10.”,因?yàn)?code>numbers中的所有元素都滿足條件(小于10)。

0