5.在C++11中新增了all_of算法,其定义形式如下: template <class InputIterator class UnaryPredicate> bool all_of (InputIterator first, InputIterator last, UnaryPredicate pred); 其功能说明如下: 测试范围[frst, last) 内的元素是否都满足元谓词pred 所设定的条件。 若测试条件 成立,则返回true。 请自行设计程序,调用all _of算法,体会该算法的功能及用法。
时间: 2024-02-25 08:57:39 浏览: 41
C++的全部算法
好的,我明白了您的问题。下面是一个简单的例子,展示了如何使用all_of()算法:
```c++
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
vector<int> v = {1, 2, 3, 4, 5};
// 判断v中所有元素是否都为奇数
bool all_odd = all_of(v.begin(), v.end(), [](int i){return i%2==1;});
if (all_odd) {
cout << "v中所有元素都为奇数" << endl;
} else {
cout << "v中不是所有元素都为奇数" << endl;
}
return 0;
}
```
在这个例子中,我们使用了一个lambda表达式来定义一个元谓词,该谓词判断一个整数是否为奇数。我们传递这个谓词给all_of()算法,该算法会遍历整个vector v,并测试其中的每个元素是否满足该谓词条件。如果所有元素都满足条件,则all_of()返回true,否则返回false。
在本例中,由于v中所有元素都是奇数,因此all_odd被设置为true,程序输出"v中所有元素都为奇数"。
阅读全文