ホームページ >バックエンド開発 >C++ >C および Java では短絡評価が保証されていますか?

C および Java では短絡評価が保証されていますか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-09 09:05:02552ブラウズ

Is Short-Circuit Evaluation Guaranteed in C   and Java?

C および Java での短絡評価: 保証されていますか?

短絡評価は、式で次のことを可能にする言語機能です。部分的に評価され、結果が判明したら停止します。これにより、特定の状況でパフォーマンスが大幅に向上する可能性があります。

Java の短絡評価

Java では、条件式 if (a != null && a.楽しい());短絡評価によるメリットが得られます。 a が null の場合、条件は false となり、式 a.fun() は評価されません。これにより、null 参照にアクセスする可能性があるコストが節約されます。

C の短絡評価

C では、条件式 if (a != 0 & &a->fun());また、int や bool などの組み込み型の短絡評価も実装します。これは、a が 0 の場合、式 a->fun() は評価されないことを意味します。

移植性とコンパイル

については短絡評価が保証されています。さまざまなプラットフォームやコンパイラにわたる C の組み込み型。ただし、&& または || をオーバーロードすることに注意することが重要です。カスタム型の演算子は、短絡評価を無効にすることができます。これは、コンパイラがオーバーロードされた演算子の動作を判断できないためです。結果として、これらの演算子のオーバーロードは一般的に推奨されません。

以上がC および Java では短絡評価が保証されていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。