如何在c++中使用lambda表达式与all_of结合

avatar
作者
筋斗云
阅读量:0

在C++中,std::all_of是一个算法,它接受一个范围(起始迭代器和终止迭代器)以及一个断言(通常是一个函数或函数对象),然后返回一个布尔值,表示该范围内的所有元素是否都满足该断言。

当结合Lambda表达式时,你可以方便地为std::all_of提供一个"匿名"的函数,用于检查容器中的所有元素是否满足特定条件。

以下是一个例子,展示了如何在C++中使用Lambda表达式与std::all_of

#include<iostream> #include<vector> #include<algorithm>  int main() {     std::vector<int> numbers = {1, 2, 3, 4, 5};      // 使用Lambda表达式检查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; } 

在这个例子中,我们创建了一个包含整数的向量numbers。然后,我们使用std::all_of来检查numbers中的所有元素是否都小于10。我们为std::all_of提供了一个Lambda表达式,该表达式接受一个整数参数n并返回一个布尔值,表示n是否小于10。

运行此程序将输出 “所有元素都小于10.”,因为numbers中的所有元素都满足条件(小于10)。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!