Zadzwoń według referencji, wartości i nazwy
Próbuję zrozumieć różnicę pojęciową między wywołaniem przez odniesienie, wartość i nazwę.
Mam więc następujący pseudokod:
foo(a, b, c)
{
b =b++;
a = a++;
c = a + b*10
}
X=1;
Y=2;
Z=3;
foo(X, Y+2, Z);
Co to jest X, Y i Z po wywołaniu foo, jeśli wszystkie a, b i c są wywołane przez odwołanie? jeśli a, b i c są wywołane przez wartość / wynik? jeśli a, b i c są wywołane przez nazwę?
Inny scenariusz:
X=1;
Y=2;
Z=3;
foo(X, Y+2, X);
Staram się zdobyć przewagę w nauce na nadchodzący finał i to wydawało się dobrym problemem do przejrzenia. Pass-by-name jest zdecydowanie najbardziej obcy dla mnie.