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; }优点:能改变主函数的值,易阅读,传参时不需要大量的复制