【发布时间】:2017-01-19 07:23:00
【问题描述】:
通过引用调用使形参成为别名,因此典型参数的每次更改也会影响形参,而传递值-结果将结果复制到典型参数,当函数返回时,它将典型参数复制到正式的。(注意,按值调用的结果与按值调用完全不同)。
除了这两种传参方式的实现方式不同之外,在我看来最终的结果应该是一样的。
我的问题是这两种方法是否总是给出相同的结果,或者你能举一个这两种方法返回不同结果的例子吗?
【问题讨论】:
-
我认为您误解了按值传递。实际上传值对形式参数没有任何影响。
-
@M.Amini ,值传递和值结果是完全不同的东西。
-
@Henk Holterman,用于fortran,你可以阅读这个stackoverflow.com/questions/718140/…,它也因此被称为copy in-copy out。你也可以检查:en.wikipedia.org/wiki/Evaluation_strategy,是它被称为复制恢复或复制复制输出或值返回。
-
嗯,那就对了,因为我不懂 Fortran。但这不是通常所说的按值传递。您可能希望对此更准确。
-
@Henk Holterman,我也不懂fortran,我在大学课上学过参数传递(从值结果中有更多奇怪和奇怪的方法),我想我很清楚我问过价值结果而不是价值,这就是我在开始时更清楚地描述它的原因,而且我在上面的评论中声明它与按值调用不同......
标签: parameters parameter-passing programming-languages pass-by-reference