Может ли кто-нибудь сказать мне точную разницу между вызовом по указателю и вызовом по ссылке. Собственно, что происходит в обоих случаях?
Например:
Вызов по ссылке:
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);