-5
短絡評価はコンパイル時間を短縮することができるので、私はC、C++がその方法を使用していることを学びました。しかし、短絡評価がコードを破壊する状況はありますか?プログラマがブール式の短絡評価を避けたいと思われるシナリオはありますか?
短絡評価はコンパイル時間を短縮することができるので、私はC、C++がその方法を使用していることを学びました。しかし、短絡評価がコードを破壊する状況はありますか?プログラマがブール式の短絡評価を避けたいと思われるシナリオはありますか?
短絡によってコードのコンパイル時間が短くなることはありません。 (少なくとも意味のある量で)
実行時間は短くてもかまいませんが、意図した目的ではありません。
短絡の目的は、特定の状態をチェックするために最小限の作業を行うことです。例えば
は:左一方が偽である場合
(単一&
とは対照的に)&&
を使用して、右のオペランドを評価することはできません。これは、logical and
オペレーションの性質によるものです。オペランドの少なくとも1つがfalseの場合、式全体がfalseになります。
技術的には、条件が早期に失敗すると実行時間が短縮されますが、保存された実行時間は各オペランド内の式に依存します。
&&
は、&
よりも「高速」なので、間違いです。適切な場合は、どちらかを使用する必要があります。
&
は、ビット単位の演算に使用されます。
短絡評価は言語機能です。したがって、それが動作していないことに依存するコードを書くことは、正しく意図しているとは言えません。 –
いずれかの条件が静的に一定でないと、コンパイル時間を短くすることは考えられません。おそらくランタイムを短縮しますか? –
'の短絡評価はコンパイル時間を短縮することができます。それが使われているわけではありません。 –