首页 > 后端开发 > C++ > C 和 Java 中的短路评估是否有保证?

C 和 Java 中的短路评估是否有保证?

Barbara Streisand
发布: 2024-11-09 09:05:02
原创
488 人浏览过

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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板