📜  C++ STL-algorithm.any_of()函数

📅  最后修改于: 2020-10-16 07:51:37             🧑  作者: Mango

C++ STL algorithm函数any_of()

C++ STL algorithm.any_of()函数对范围中的每个元素测试’pred’的值,如果对于任何元素pred的值为true,则该函数返回true,否则返回false。

句法

template 
bool any_of (InputIterator first, InputIterator last, UnaryPredicate pred);

参数

first:它是指定范围内的第一个元素。

last:它是范围中的最后一个元素。

pred:这是一个一元函数,它接受范围内的参数。

返回值

该函数具有一种返回类型“ true”。如果参数“ pred”的值对于该范围的任何元素为true,则返回值“ true”,否则为false。

例子1

#include 
#include 
#include 
using namespace std;
int main()
{
    int arr[7] = {2,4,6,5,10,3,14};
    any_of(arr,arr+6, [](int k){return k%2;})?
    cout <<"There are elements which exist in the table of 2":
    cout<<"No elements in the table of 2 exists";
    return 0;
}

输出:

There are elements which exist in the table of 2.

例子2

#include 
#include 
#include 
int main()
{
    std::array arr = {2,-4,6,-9,10};
    if(std::any_of (arr.begin(), arr.end(), [](int k) { return k<0;}))
    std::cout <<"Negative elements exist in the array";
    return 0;
}

输出:

Negative elements exist in the array

复杂度

函数从第一个元素开始向最后一个元素线性移动。对于列表中的每个元素,都会检查“ pred”的值。搜索继续进行,直到遇到“ pred”值不匹配的情况。

数据竞争

该函数访问指定范围内的所有对象或其中的一些对象。

异常处理

如果任何参数抛出一个异常,该函数将引发异常。