📅  最后修改于: 2023-12-03 14:59:45.420000             🧑  作者: Mango
all_of()
函数是C++标准模板库(STL)中的一个算法函数,它的作用是检查给定的输入范围内的所有元素是否都满足给定的谓词。
all_of()
函数的语法如下:
template<class InputIt, class UnaryPredicate>
bool all_of(InputIt first, InputIt last, UnaryPredicate p);
其中,first
和last
是表示输入范围的迭代器,p
是一个一元谓词,返回类型为bool
。
all_of()
函数会对指定的输入范围内的所有元素应用给定的谓词p
,如果所有元素都被谓词所满足,则返回true
,否则返回false
。
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
using namespace std;
bool is_even(int n) {
return n % 2 == 0;
}
int main() {
vector<int> vec1 = {2, 4, 6, 8, 10};
vector<int> vec2 = {1, 3, 5, 7, 9};
bool b1 = all_of(vec1.begin(), vec1.end(), is_even);
bool b2 = all_of(vec2.begin(), vec2.end(), is_even);
cout << boolalpha << b1 << endl; // true
cout << boolalpha << b2 << endl; // false
return 0;
}
在上面的代码示例中,首先定义了两个vector容器vec1
和vec2
,分别包含偶数和奇数,然后定义了一个谓词函数is_even()
,用于判断一个数字是否为偶数。然后,通过调用all_of()
函数分别检查vec1
和vec2
中的元素是否都为偶数,最后输出检查结果。