1.按值传递
void swap(int a, int b)
{
int temp = a;
a = b;
b = temp;
}
int main()
{
int a = 2, b =3;
swap(a, b);
return 0;
}
优点:便于阅读
缺点:不能改变主函数中的值
2.按指针传递
void swap(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
int main()
{
int a = 2, b =3;
swap(&a, &b);
return 0;
}
优点:可以改变主函数的值,传参时不需要大量的复制
缺点:不易阅读,容易出错
3.按别名传递
void swap(int &a, int &b)
{
int temp = a;
a = b;
b = temp;
}
int main()
{
int a = 2, b =3;
swap(a, b);
return 0;
}
优点:能改变主函数的值,易阅读,传参时不需要大量的复制