在C++中,std::all_of
是一個算法,它接受一個范圍(起始迭代器和終止迭代器)以及一個斷言(通常是一個函數或函數對象),然后返回一個布爾值,表示該范圍內的所有元素是否都滿足該斷言。
當結合Lambda表達式時,你可以方便地為std::all_of
提供一個"匿名"的函數,用于檢查容器中的所有元素是否滿足特定條件。
以下是一個例子,展示了如何在C++中使用Lambda表達式與std::all_of
:
#include<iostream>
#include<vector>
#include<algorithm>
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5};
// 使用Lambda表達式檢查numbers中的所有元素是否都小于10
bool allBelowTen = std::all_of(numbers.begin(), numbers.end(), [](int n) {
return n < 10;
});
if (allBelowTen) {
std::cout << "所有元素都小于10."<< std::endl;
} else {
std::cout << "存在大于等于10的元素."<< std::endl;
}
return 0;
}
在這個例子中,我們創建了一個包含整數的向量numbers
。然后,我們使用std::all_of
來檢查numbers
中的所有元素是否都小于10。我們為std::all_of
提供了一個Lambda表達式,該表達式接受一個整數參數n
并返回一個布爾值,表示n
是否小于10。
運行此程序將輸出 “所有元素都小于10.”,因為numbers
中的所有元素都滿足條件(小于10)。