温馨提示×

c++ all_of的参数含义及用法

c++
小樊
81
2024-09-04 18:51:16
栏目: 编程语言

std::all_of 是 C++ 标准库中的一个算法,用于检查容器或范围内的所有元素是否满足特定条件。它接受三个参数:两个迭代器(表示范围的开始和结束)以及一个断言(用于测试每个元素的条件)。

  1. 参数含义

    • firstlast:这两个迭代器定义了要操作的元素范围。first 是范围的开始,last 是范围的结束。注意,last 指向的元素不包含在范围内。
    • p:这是一个断言,即一个返回布尔值的函数或函数对象。它将应用于范围内的每个元素。如果所有元素都使得 p 返回 true,则 std::all_of 也返回 true;否则返回 false
  2. 用法示例

下面是一个简单的示例,展示了如何使用 std::all_of 来检查一个整数向量中的所有元素是否都大于 5。

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

bool is_greater_than_five(int i) {
    return i > 5;
}

int main() {
    std::vector<int> numbers = {6, 7, 8, 9, 10};

    bool result = std::all_of(numbers.begin(), numbers.end(), is_greater_than_five);

    if (result) {
        std::cout << "All elements are greater than 5."<< std::endl;
    } else {
        std::cout << "Not all elements are greater than 5."<< std::endl;
    }

    return 0;
}

在这个示例中,is_greater_than_five 函数是一个断言,用于检查给定的整数是否大于 5。我们将这个断言传递给 std::all_of,它会应用于 numbers 向量中的所有元素。如果所有元素都大于 5,程序将输出 “All elements are greater than 5.”,否则输出 “Not all elements are greater than 5.”。

0