“按值传递参数” CLRS算法

问题描述 投票:0回答:1

作者所说的“表示对象的数据已被复制,但对象的属性未复制”的意思是什么,有人给我举了一个例子,说明它如何在python或java或C中实际工作。


以下摘录自CLRS算法的第一章。

“我们通过值将参数传递给过程:被调用的过程接收其自己的参数副本,如果它为参数分配了值,则调用过程看不到更改。当对象被传递时,指针例如,如果x是被调用过程的参数,则被调用过程中的赋值x = y对于调用过程而言是不可见的。但是,3是可见的。类似地,数组是通过指针传递的,因此传递给该数组的指针而不是整个数组,并且对单个数组元素的更改对于调用过程是可见的。“

预先感谢您帮助我解决此问题。

arrays algorithm pointers parameter-passing
1个回答
0
投票

这几乎是所有现代命令式编程语言的正常行为,这些命令式语言具有不变的基元和可变对象,例如Java,Python,Javascript等。我将使用Javascript作为示例,但是如果您不希望使用Javascript,那么代码足够简单,无论如何您都可以理解其中的解释。

© www.soinside.com 2019 - 2024. All rights reserved.