Java c ++参考问题

RoR*_*RoR 1 c++ java

在c ++中,我们使用&来表示传递引用.由于对象总是通过引用传递,因此您不需要使用此&?或者没关系?

java和c ++在传递值和引用方面有何不同.我认为java中的所有内容都是通过引用传递的,但它是通过值传递的?为什么是这样?那么,当对象通过引用传递时,原语是通过值传递的吗?

Nim*_*Nim 8

清除两件事:

  1. C++默认值总是传递,并且您必须明确指示您的函数是否接受带有的引用&
  2. Java 总是传递(对象不是通过引用传递的,但引用是通过值传递的 - 即它是对象引用的副本 - 因此您可以使用该引用修改对象,但是您不能指望像交换[一个引用与另一个]以正常工作)

  • 将Java中的所有对象变量视为等效于C++指针是有帮助的.这就是他们的处理方式. (2认同)