给定一个包含 boolean 值的容器(示例为std::vector<bool>
),是否存在一个标准函数,如果所有值都是true
(“和”),则返回true
;如果至少一个值是true
(“or”),则返回true
,并且发生短路评估?
我今天早晨挖了www.cplusplus.com槽,但找不到任何东西。
最佳答案
您可以通过以下方式实现:
AND:
std::find(vector.begin(), vector.end(), false) == vector.end() // all the values are true
或:
std::find(vector.begin(), vector.end(), true) != vector.end() //at least one value is true