我想给出一个条件,即如果所有值都是 0 或 1,则执行一些逻辑。
我有三个变量。
0 0 0 -> evaluates to True
1 1 1 -> evaluates to True
所有其他组合评估为 False。我该如何为此编写逻辑?
我想给出一个条件,即如果所有值都是 0 或 1,则执行一些逻辑。
我有三个变量。
0 0 0 -> evaluates to True
1 1 1 -> evaluates to True
所有其他组合评估为 False。我该如何为此编写逻辑?
bool condition1, condition2, condition3;
...
if ((condition1 == condition2) && (condition2 == condition3))
或者
bool allThreeEqual = (condition1 == condition2) && (condition2 == condition3);
首先用简单的代码表达你的想法:
int a, b, c;
// ...
bool eval = false; // assume false, prove otherwise
if( (a==0) && (b==0) && (c==0) )
eval = true;
else if( (a==1) && (b==1) && (c==1) )
eval = true;
有人会争辩说上面的内容并不优雅。我不同意。以上内容简单、直接,并且易于理解、维护和扩展。对我来说,这听起来像是优雅的定义。
一旦编写了这个简单的逻辑,您就可以评估是否需要对此代码进行性能基准测试。如果你这样做了,并且你确定这确实是一个真正的瓶颈,那么你可以对它进行模式前向优化,也许通过利用元素之间的传递关系。然而,几乎每次都足够快,并且根本不需要进行任何更改。