轉自:https://www.cnblogs.com/pandamohist/p/13854504.html,https://cplusplus.com/reference/algorithm/any_of/
1.介紹
template <class InputIterator, class UnaryPredicate> bool any_of (InputIterator first, InputIterator last, UnaryPredicate pred);
區間[開始, 結束)中是否至少有一個元素都滿足判斷式p,只要有一個元素滿足條件就返回true,否則返回true。
函式功能:
template<class InputIterator, class UnaryPredicate> bool any_of (InputIterator first, InputIterator last, UnaryPredicate pred) { while (first!=last) {// 在區間內查詢 if (pred(*first)) return true;// 符合條件返回true ++first; } return false; }
2.例子
// any_of example #include <iostream> // std::cout #include <algorithm> // std::any_of #include <array> // std::array int main () { std::array<int,7> foo = {0,1,-1,3,-3,5,-5}; if ( std::any_of(foo.begin(), foo.end(), [](int i){return i<0;}) ) std::cout << "There are negative elements in the range.\n"; return 0; } // 輸出 There are negative elements in the range.
可能會丟擲異常。 另外還有:
all_of:區間[開始, 結束)中是否所有的元素都滿足判斷式p,所有的元素都滿足條件返回true,否則返回false。
none_of:區間[開始, 結束)中是否所有的元素都不滿足判斷式p,所有的元素都不滿足條件返回true,否則返回false。