【发布时间】:2013-09-28 02:23:38
【问题描述】:
https://stackoverflow.com/a/6044657/1165790
我的印象是有两种方法可以分配/调用事物: 1)按值(类型的实际位编码被分配/发送给变量/函数;2)按引用(数据位置的内存地址被分配/发送给变量/函数。
究竟是什么传递“按值引用”?
【问题讨论】:
https://stackoverflow.com/a/6044657/1165790
我的印象是有两种方法可以分配/调用事物: 1)按值(类型的实际位编码被分配/发送给变量/函数;2)按引用(数据位置的内存地址被分配/发送给变量/函数。
究竟是什么传递“按值引用”?
【问题讨论】:
这意味着您传递引用(本质上是指针抽象)的方式与传递任何其他原语的方式相同:按值。
Passed by Value Passed by reference
--------------- -------------------
Integer Object
Reference Object that the reference points to
因为引用是按值传递的,所以您会得到与使用相同的行为 其他任何按值传递的东西;也就是说,您传递引用的函数使用引用的副本, 而不是实际的引用。
所以如果你改变函数内的引用,函数外的原始引用不会改变。
【讨论】:
这是文字游戏。引用是内存地址,或者,严格来说,具有内存地址所有属性的抽象。所以按值传递引用就是你所说的:地址的位被传递给被调用者。在大多数计算机语言文本使用的更一般的说法中,这与说对象通过引用传递是完全相同的。
【讨论】: