ポインタによる呼び出しと参照による呼び出しの正確な違いを教えてください。実際、両方のケースで何が起こっているのでしょうか?
例えば:
参照による呼び出し:
void swap(int &x, int &y)
{
int temp;
temp = x; /* save the value at address x */
x = y; /* put y into x */
y = temp; /* put x into y */
return;
}
swap(a, b);
ポインターによる呼び出し:
void swap(int *x, int *y)
{
int temp;
temp = *x; /* save the value at address x */
*x = *y; /* put y into x */
*y = temp; /* put x into y */
return;
}
swap(&a, &b);