gpt4 book ai didi

java - 在 Java 中,++x 是否比 x++ 更高效?

转载 作者:太空狗 更新时间:2023-10-29 22:48:57 26 4
gpt4 key购买 nike

在一节编程课上,教授正在教我们x++++x,其中x是一个整数。

他说在我们可以只放入x++++x的场景中,++x效率更高(一点点,但从理论上讲,效率仍然更高)。

但我忘了为什么。有谁知道?这是 Java。

最佳答案

在 Java 中并没有更高效。它在递增/递减运算符可以重载的语言中效率更高,但其他方面的性能完全相同。

x++之间的区别和 ++x是那个x++返回 x 的值在它增加之前,++x返回 x 的值递增后。在代码生成方面,两者都弥补了完全相同数量的指令,至少当你可以互换使用时(如果你不能互换使用它们,你不应该担心哪个更快,你应该选择你需要的那个)。唯一的区别是增量指令的放置位置。

在 C++ 中,类可以重载前缀 (++x) 和后缀 (x++) 运算符。在处理重载它们的类型时,使用前缀运算符几乎普遍更快,因为后缀运算符的语义将返回对象的副本,就像它在增量之前一样,即使您不会使用它,而前缀运算符可以简单地返回对修改对象的引用(天知道 C++ 开发人员更喜欢返回引用而不是副本)。这可能是考虑++x的理由优于 x++ : 如果你养成使用 ++x 的习惯当/如果你切换到 C++,你可以为自己省去一些轻微的性能问题。但仅在 Java 的上下文中,两者是绝对等价的。

很像上面评论中的pst,我从不使用x++的返回值或 ++x ,如果您从来没有这样做过,您可能应该坚持使用您喜欢的那个。

关于java - 在 Java 中,++x 是否比 x++ 更高效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12396740/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com