c++ - 如何将此函数重写为c ++中的指针?
问题描述
void swap(int &a, int &b)
{
int temp = a;
a = b;
b = temp;
}
在我的代码中,我所做的只是在变量之前添加星号a
,b
在参数和代码正文中。我的老师说这是错误的,所以我现在不明白。
解决方案
void swap(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
您称呼您的原件的方式是:
int one = 1;
int two = 2;
swap(one, two); // references
修改后的功能如
swap(&one, &two); // pointers