std::any_of() 是 C++ STL 中的一个算法函数,用于判断给定范围内的元素是否存在符合指定条件的元素。它的用法如下:

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

其中,first 和 last 分别表示要检查的元素范围的起始和结束迭代器。p 是一个一元谓词,即一个可以接受单个元素并返回布尔值的函数对象。any_of() 函数会遍历范围内的所有元素,对每个元素调用谓词 p(),如果存在任何一个元素使得 p() 返回 true,则函数返回 true,否则返回 false。

例如,给定一个数组 arr,判断其中是否存在任何一个元素大于 10,可以使用如下代码:

#include <iostream>
#include <algorithm>
#include <vector>

int main() {
    std::vector<int> arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    bool result = std::any_of(arr.begin(), arr.end(), [](int x) { return x > 10; });
    std::cout << std::boolalpha << result << std::endl;  // 输出 false
    return 0;
}

在上面的代码中,我们使用了一个 lambda 表达式作为谓词,检查每个元素是否大于 10。由于数组中不存在大于 10 的元素,因此 any_of() 函数返回 false

stdany_of的概念和用法

原文地址: https://www.cveoy.top/t/topic/hlER 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录