C++ 算法 all_of() 函数

定义和用法

all_of() 函数测试数据范围内的每个元素是否满足指定条件。

如果所有元素都满足条件则返回布尔值 1 ,如果至少有一个元素不满足条件则返回 0 。

数据范围通过迭代器指定。

条件由一个函数指定,该函数接收元素值作为参数并返回布尔值:满足条件返回 1 ,不满足条件返回 0 。

实例

检查 vector 中的所有数字是否都小于 10 :

bool less_than_10 (int value) {
  return value < 10;
}

int main() {
  vector<int> numbers = {1, 7, 3, 5, 9, 2};
  if (all_of(numbers.begin(), numbers.end(), less_than_10)) {
    cout << "所有数字都小于 10";
  } else {
    cout << "存在不小于 10 的数字";
  }
  
  return 0;
}

亲自试一试

语法

all_of(iterator start, iterator end, function condition);

参数

参数 描述
start 必需。指向要测试数据范围起始位置的迭代器。
end

必需。指向要测试数据范围结束位置的迭代器。

将测试到该位置之前的元素,但不包含该位置上的元素。

condition 必需。接收数据范围元素值作为参数并返回布尔值的函数。

技术细节

返回:

布尔值:

  • 1 - 如果所有元素都满足条件
  • 0 - 如果任一元素不满足条件

相关页面

教程:C++ 数据结构

教程:C++ 迭代器

教程:C++ 算法

教程:C++ 布尔值