これは非常に小さな問題です。 a()、b()、c()、d()の4つのブール関数があります。最初の人がtrue
を返すまで、私はそれらを順番に呼びたいと思います。代わりに、伝統的な連鎖したifsを短絡した操作に置き換える
if(!a()) {
if(!b()) {
if(!c()) {
d();
}
}
}
または
if(!a() && !b() && !c()) d();
をやって、私は短絡評価として式を書くことについて考えました。
(a() || b() || c() || d());
しかし、このテストはC/C++コードでこのように行われたことはありません。このアプローチに問題がありますか?
ありがとうございました。
私は* 5 *ブール関数を見ることができます。 –
@chris意味を変更しません.d()は、他のすべての関数がfalseの場合にのみ実行されます。 – Loghorn
私はメンテナンスの観点からこれに対して助言したいと思います。短絡したバージョンが表示されたときにコードが何をするのかがすぐには分かりません(それがあなたにとって懸念事項である場合)。あなたがSOの行動について尋ねなければならないという事実は、他の人があなたのコードを読んでいるときに何が起こるかのヒントになるはずです。 – Michael