c++ all_of在STL容器中的应用

avatar
作者
筋斗云
阅读量:0

all_of 是 C++ 标准库` 中的一个函数,它用于检查容器中的所有元素是否都满足给定的条件。这个函数对于确保容器中的所有元素都符合特定规则非常有用。

all_of 的基本语法如下:

template< class InputIt, class UnaryPredicate > bool all_of( InputIt first, InputIt last, UnaryPredicate p ); 

其中:

  • firstlast 是要检查的范围的起始和结束迭代器。
  • p 是一个一元谓词,用于测试每个元素是否满足条件。

下面是一个使用 all_of 的简单示例,演示了如何检查一个 std::vector<int> 中的所有元素是否都大于 0:

#include<iostream> #include<vector> #include<algorithm>  bool is_positive(int n) {     return n > 0; }  int main() {     std::vector<int> numbers = {1, 2, 3, 4, 5};      bool all_positive = std::all_of(numbers.begin(), numbers.end(), is_positive);      if (all_positive) {         std::cout << "All elements are positive."<< std::endl;     } else {         std::cout << "Not all elements are positive."<< std::endl;     }      return 0; } 

在这个示例中,我们定义了一个名为 is_positive 的辅助函数,用于检查一个整数是否大于 0。然后,我们使用 std::all_of 函数检查 numbers 向量中的所有元素是否都大于 0。如果所有元素都大于 0,程序将输出 “All elements are positive.”,否则将输出 “Not all elements are positive.”。

广告一刻

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