溫馨提示×

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

c++
小樊
82
2024-09-04 18:49:00
欄目: 編程語言

std::all_of 是 C++ 標(biāo)準(zhǔn)庫中的一個算法,用于檢查容器或其他范圍內(nèi)的所有元素是否滿足特定條件。這個函數(shù)接收三個參數(shù):范圍的開始迭代器、范圍的結(jié)束迭代器和一個斷言(通常是一個函數(shù)或函數(shù)對象)。

下面是一個使用 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 的函數(shù),該函數(shù)檢查傳入的整數(shù)是否大于 0。然后,我們使用 std::all_of 來檢查 numbers 向量中的所有元素是否都滿足這個條件。如果所有元素都大于 0,則輸出 “All elements are positive.”,否則輸出 “Not all elements are positive.”。

你可以根據(jù)需要修改斷言函數(shù)以檢查其他條件。

0