【发布时间】:2013-04-05 00:15:24
【问题描述】:
我试图理解按引用、值和名称调用之间的概念差异。
所以我有以下伪代码:
foo(a, b, c)
{
b =b++;
a = a++;
c = a + b*10
}
X=1;
Y=2;
Z=3;
foo(X, Y+2, Z);
如果 a、b 和 c 都是通过引用调用,则 foo 调用之后的 X、Y 和 Z 是什么? 如果 a、b 和 c 是按值/结果调用? 如果 a、b 和 c 是按名称调用的?
另一个场景:
X=1;
Y=2;
Z=3;
foo(X, Y+2, X);
我正在努力为即将到来的期末考试抢占先机,这似乎是一个很好的复习问题。 Pass-by-name 对我来说绝对是最陌生的。
【问题讨论】:
-
将鼠标悬停在您刚刚放在问题上的标签上,然后查看说明。我从来没有听说过名字传递,除非那是某种反射。
-
你知道什么是指针吗?通过引用传递只是传递一个指针,而通过值传递是传递值本身。
标签: pass-by-reference pass-by-value pass-by-name