通过引用传递并在c ++和java中传递值

可能重复:
传递引用与价值传递之间有什么区别?
Java和C ++按值传递并通过引用传递

Java是“通过值传递”还是“通过引用传递”?

那么c ++和c呢? 是c ++和c“通过值传递”或“通过引用传递”?

“按价值传递”还是“按引用传递”有什么区别?


Java是通过值传递的,但是你传递的值可能是一个参考。

在C ++中,您可以选择是按值还是按引用传递。 在C中,你总是按照价值传递,而不存在任何参考; 你必须通过一个指针来做类似的事情。

如果按值传递,函数会获得您传递的变量的副本。 如果更改副本,原始值保持不变(尽管它传递的值本身就是一个引用,您可以更改引用的对象)。

如果您通过引用传递,函数将获取传递的实际变量。 如果函数更改该变量,则实际上正在更改传递给该函数的变量。


Java是“通过价值传递”。 总是。

C ++允许通过引用。 C中的所有东西都是按值传递的。

当您通过引用函数传递变量时,该函数可以更改调用方中变量的值。 当按值传递时,函数会获取变量的副本。


Java通过基本类型(int,double)的值传递,并通过引用传递从Object继承的任何类。

不过你喜欢C ++。

按值传递会生成参数的副本,因此对该函数所做的任何更改只会在该函数内产生影响。

按引用传递不会复制,因此在子函数中对该参数所做的任何更改都会影响该函数之外的值。

链接地址: http://www.djcxy.com/p/20603.html

上一篇: pass by reference and pass by value in c++ and java

下一篇: Function returning int&