Звоните по ссылке, стоимости и имени
Я пытаюсь понять концептуальную разницу между вызовом по ссылке, значению и имени.
Итак, у меня есть следующий псевдокод:
foo(a, b, c)
{
b =b++;
a = a++;
c = a + b*10
}
X=1;
Y=2;
Z=3;
foo(X, Y+2, Z);
Что такое 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 определенно самый чуждый для меня.