我有一個與stl算法有關的問題。在空範圍上應用any_of(),all_of()和none_of()的標準算法
從http://www.cplusplus.com/reference/algorithm/我看到,當對空範圍應用any_of()
,all_of()
和none_of()
有不同的返回值,但它似乎只是他們實現的結果。
你認爲這些算法的正確返回值是什麼?集合論是否回答這些問題?
我有一個與stl算法有關的問題。在空範圍上應用any_of(),all_of()和none_of()的標準算法
從http://www.cplusplus.com/reference/algorithm/我看到,當對空範圍應用any_of()
,all_of()
和none_of()
有不同的返回值,但它似乎只是他們實現的結果。
你認爲這些算法的正確返回值是什麼?集合論是否回答這些問題?
你只是解釋他們的名字。使用常識。那就是:
any_of
是否在範圍內的任何元素滿足條件?爲此,您至少需要一個匹配元素。
all_of
範圍內的所有元素是否滿足條件?如果沒有元素,那麼它們都符合標準。
等
的模式很簡單:
評論不適用於擴展討論;這個對話已經[轉移到聊天](http://chat.stackoverflow.com/rooms/64907/discussion-on-answer-by-karoly-horvath-standard-algorithms-any-of-all-of-an) 。 –
@GeorgeStocker:你應該在這裏保留有用的東西......這不是純粹的聊天噪音! –
它似乎是一個現場對話;這不是評論的目的。根據需要將有用的信息編輯爲答案或問題。 –
這不是關於實施,該標準是他們應該返回
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3337.pdf
什麼很清楚,你可以846頁的檢查any_of例如
返回:假如果[first,last]是空的,或者如果在[first,last)範圍內沒有迭代器i,例如 pred(* i)爲true,否則爲true。
作爲一個方面說明:我最好推薦[此參考](http://en.cppreference.com/w/cpp/algorithm/all_any_none_of)。 –
選擇('all_of':true,'any_of':false,'none_of':true)大概是基於謂詞邏輯的通用和存在操作符的屬性。 – ooga
相關:http://en.wikipedia.org/wiki/First-order_logic – Casey