“通过价值传递参考”是什么意思?

时间:2013-09-28 02:23:38

标签: language-agnostic

https://stackoverflow.com/a/6044657/1165790

我的印象是有两种方式可以分配/调用东西: 1)按值(通过引用将类型的实际位编码分配/发送到变量/函数和2)(数据位置的存储器地址被分配/发送到变量/函数。

究竟是什么传递'按值引用'?

2 个答案:

答案 0 :(得分:2)

这意味着您传递引用(本质上是指针抽象)的方式与传递任何其他原语的方式相同:按值。

Passed by Value     Passed by reference
---------------     -------------------
Integer             Object
Reference           Object that the reference points to

因为引用是按值传递的,所以您将获得与使用相同的行为 通过价值传递的任何其他东西;即,您传递引用的函数使用引用的副本而不是实际引用。

因此,如果更改函数内的引用,则函数外部的原始引用不会更改。

答案 1 :(得分:1)

这是文字游戏。引用内存地址,或者严格来说,是一个具有内存地址所有属性的抽象。所以按值传递引用就是你所说的:地址的位被传递给被调用者。在大多数计算机语言文本使用的更一般的说法中,这与通过引用传递对象完全相同。