我有一个与stl算法有关的问题。
来自http://www.cplusplus.com/reference/algorithm/我看到any_of()
,all_of()
和none_of()
在应用于空范围时具有不同的返回值,但似乎只是它们的实现的结果
您认为这些算法的正确返回值是什么?集合论是否回答了这些问题?
答案 0 :(得分:6)
你只是解释他们的名字。使用常识。那就是:
any_of
范围内的任何元素是否满足条件?为此,您至少需要一个匹配元素。
all_of
范围内的所有元素是否满足条件?如果没有元素,则所有元素都符合标准。
等
模式非常简单:
答案 1 :(得分:1)
这不是关于实施,标准非常清楚他们应该返回什么
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3337.pdf
您可以在第846页查看any_of,例如
返回:如果[first,last]为空,或者如果在[first,last]范围内没有迭代器i,则返回false pred(* i)是真的,否则是真的。