all_of
和 any_of
是 C++ 標準庫
all_of
:此函數檢查容器或范圍內的所有元素是否都滿足給定的條件。如果所有元素都滿足條件,則返回 true
;否則返回 false
。示例:
#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 result = std::all_of(numbers.begin(), numbers.end(), is_positive);
if (result) {
std::cout << "All numbers are positive."<< std::endl;
} else {
std::cout << "Not all numbers are positive."<< std::endl;
}
return 0;
}
any_of
:此函數檢查容器或范圍內是否存在至少一個元素滿足給定的條件。如果存在滿足條件的元素,則返回 true
;否則返回 false
。示例:
#include<iostream>
#include<vector>
#include<algorithm>
bool is_negative(int n) {
return n < 0;
}
int main() {
std::vector<int> numbers = {-1, 2, 3, 4, 5};
bool result = std::any_of(numbers.begin(), numbers.end(), is_negative);
if (result) {
std::cout << "There is at least one negative number."<< std::endl;
} else {
std::cout << "There are no negative numbers."<< std::endl;
}
return 0;
}
總結:all_of
要求容器或范圍內的所有元素都滿足條件,而 any_of
只需要存在至少一個滿足條件的元素。根據你的需求選擇合適的算法。