c++

c++ all_of如何检查容器元素

小樊
82
2024-09-04 18:49:00
栏目: 编程语言

std::all_of 是 C++ 标准库中的一个算法,用于检查容器或其他范围内的所有元素是否满足特定条件。这个函数接收三个参数:范围的开始迭代器、范围的结束迭代器和一个断言(通常是一个函数或函数对象)。

下面是一个使用 std::all_of 来检查 std::vector<int> 中的所有元素是否都大于 0 的示例:

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

bool is_positive(int n) {
    return n > 0;
}

int main() {
    std::vector<int> numbers = {1, 2, 3, 4, 5};

    bool all_positive = std::all_of(numbers.begin(), numbers.end(), is_positive);

    if (all_positive) {
        std::cout << "All elements are positive."<< std::endl;
    } else {
        std::cout << "Not all elements are positive."<< std::endl;
    }

    return 0;
}

在这个示例中,我们定义了一个名为 is_positive 的函数,该函数检查传入的整数是否大于 0。然后,我们使用 std::all_of 来检查 numbers 向量中的所有元素是否都满足这个条件。如果所有元素都大于 0,则输出 “All elements are positive.”,否则输出 “Not all elements are positive.”。

你可以根据需要修改断言函数以检查其他条件。

0
看了该问题的人还看了