我正在研究一个交换指针的函数,但我不知道为什么这不起作用。当我在交换函数中打印出 r 和 s 时,值被交换,这让我相信我正在操作一个我不理解的副本,因为我通过引用 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