首頁 > 後端開發 > C++ > C 和 Java 中的短路評估是否有保證?

C 和 Java 中的短路評估是否有保證?

Barbara Streisand
發布: 2024-11-09 09:05:02
原創
492 人瀏覽過

Is Short-Circuit Evaluation Guaranteed in C   and Java?

C 和 Java 中的短路求值:有保證嗎?

短路求值是一種語言功能,允許表達式進行部分評估,一旦知道結果就停止。這在某些情況下可以顯著提高效能。

Java 的短路評估

在 Java 中,條件表達式 if (a != null && a.樂趣());受益於短路評估。當 a 為 null 時,條件將為 false,且表達式 a.fun() 將不會被計算。這節省了潛在訪問空引用的成本。

C 的短路評估

在C 中,條件表達式if (a != 0 & &a->fun());也實作了對int 和bool 等內建類型的短路評估。這表示如果 a 為零,則不會計算表達式 a->fun()。

可移植性和編譯

保證短路計算跨不同平台和編譯器的 C 內建類型。但是,請務必注意重載 && 或 ||自訂類型的運算子可以停用短路求值。這是因為編譯器無法確定重載運算子的行為。因此,通常不建議重載這些運算符。

以上是C 和 Java 中的短路評估是否有保證?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板