Функция any_of
Функция any_of проверяет, удовлетворяет ли
хотя бы один элемент диапазона заданному условию.
В первый параметр мы передаем итератор начала
диапазона, во второй - итератор конца, а в третий -
предикат (функцию или лямбду), которому должен
соответствовать хотя бы один элемент.
Функция возвращает true, если хотя бы один
элемент удовлетворяет условию, и false в
противном случае. Если диапазон пуст, функция
возвращает false.
Синтаксис
any_of(first, last, predicate)
Пример
Давайте проверим, есть ли в векторе хотя бы одно чётное число:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<int> vec = {1, 2, 3, 4, 5};
bool res = any_of(vec.begin(), vec.end(), [](int x) {
return x % 2 == 0;
});
cout << res << endl;
return 0;
}
Результат выполнения кода:
1
Пример
Давайте проверим, есть ли в векторе число больше
10:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<int> vec = {1, 2, 3, 4, 5};
bool res = any_of(vec.begin(), vec.end(), [](int x) {
return x > 10;
});
cout << res << endl;
return 0;
}
Результат выполнения кода:
0
Пример
Давайте проверим, есть ли в векторе строк хотя бы
одна строка длиной больше 3:
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
vector<string> vec = {"a", "b", "c", "d", "e"};
bool res = any_of(vec.begin(), vec.end(), [](string s) {
return s.length() > 3;
});
cout << res << endl;
return 0;
}
Результат выполнения кода:
0