Я работаю над функцией для подстановки указателей, и я не могу понять, почему это не работает. Когда я распечатываю r и s в функции swap, значения меняются местами, что заставляет меня полагать, что я манипулирую с копией, которую я не понимаю, потому что передаю по ссылке p и q.
void swap(int *r, int *s)
{
int *pSwap = r;
r = s;
s = pSwap;
return;
}
int main()
{
int p = 7;
int q = 9;
swap(&p, &q);
cout << "p = " << p << "q= " << q << endl;
return 0;
}
Отпечатки: p = 7q = 9