私はこの投稿を読んでいました。最初の条件が false の場合、なぜ誰かが 2 番目の条件をテストしようとするのか疑問に思っています。
例えば:
boolean a =false;
if(a && b) //do soemthing
b が false かどうかをテストするのはなぜですか?
たとえば、最初の値が何であるかに関係なく、起動したい何かを行う関数がある場合、それは理にかなっています。
if( a & _checkForB())
私が考えることができる唯一のケースは、2番目の評価が望ましい副作用を持っている場合です。
これが実際の使い方かどうかはわかりませんが、コードのアクロバットなどを行う場合があります。
string s;
if((s = reader.read()))
{
doStuff
}
&
そして、あなたの状態で何かをしたことが複数ある場合は、を使用できると思います。
b が false かどうかをテストするのはなぜですか?
私はあなたが意味すると思います:
aがfalseの場合、なぜbをテストするのですか?
たとえば、b に副作用がある場合。この場合、おそらく設計上の問題がありますが。
実際には、おそらく「&=」を除いて、「&」はブール値には使用されません。