Звоните по ссылке, стоимости и имени
Я пытаюсь понять концептуальную разницу между вызовом по ссылке, значению и имени.
Итак, у меня есть следующий псевдокод:
foo(a, b, c)
{
b =b++;
a = a++;
c = a + b*10
}
X=1;
Y=2;
Z=3;
foo(X, Y+2, Z);
Какие's X, Y и Z после вызова foo, если a, b и c - все вызовы по ссылке? если a, b и c являются вызовом по значению / результату? если a, b и c являются вызовом по имени?
Другой сценарий: я
X=1;
Y=2;
Z=3;
foo(X, Y+2, X);
Я пытаюсь начать подготовку к предстоящему финалу, и это казалось хорошей проблемой для рассмотрения. Pass-by-name определенно самый чуждый для меня.