Language agnostic 什么是';通过值传递引用';什么意思?

Language agnostic 什么是';通过值传递引用';什么意思?,language-agnostic,Language Agnostic,我的印象是,有两种方式可以分配/调用事物: 1) 按值(一种类型的实际位编码分配/发送给变量/函数;2)按引用(数据位置的内存地址分配/发送给变量/函数) 究竟什么是通过值传递引用?它的意思是,传递引用(本质上是指针抽象)的方式与传递任何其他基元的方式相同:通过值 Passed by Value Passed by reference --------------- ------------------- Integer Object Reference

我的印象是,有两种方式可以分配/调用事物: 1) 按值(一种类型的实际位编码分配/发送给变量/函数;2)按引用(数据位置的内存地址分配/发送给变量/函数)


究竟什么是通过值传递引用?

它的意思是,传递引用(本质上是指针抽象)的方式与传递任何其他基元的方式相同:通过值

Passed by Value     Passed by reference
---------------     -------------------
Integer             Object
Reference           Object that the reference points to
因为引用是按值传递的,所以获得的行为与使用 通过值传递的任何其他内容;即,传递引用的函数使用引用的副本,而不是实际引用


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

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

我明白了,这意味着通过指定引用是否是通过引用传递的(间接)来更进一步或者引用是否通过值传递-操作引用不会更改原始值。