【发布时间】:2013-07-09 12:19:33
【问题描述】:
在 C++ 中是否有类似就地 AND 和 OR 运算符的东西?
bool someOk=false;
for(int i=0; i<10; i++){
someOk||=funcReturningBoolOnSuccess(i);
}
(我知道我可以写someOk=someOk||funcReturningBoolOnSuccess(i),但它不那么漂亮)。
【问题讨论】:
-
您在寻找|=
-
不,
|=是按位计算的。 -
@eudoxos:除非您需要短路功能,否则 |= 的工作原理相同。并且没有 ||= 或等价物。如果你经常需要它,你可以编写自己的小函数来完成它。
-
不是答案,但出于与示例类似的目的,您可以尝试 std::any_of en.cppreference.com/w/cpp/algorithm/all_any_none_of
标签: c++ boolean operators in-place