通过引用传递并在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