猿问

c++ 地址 swap函数?

#include <iostream>
void swap1(int a, int b){
int tmp = a;
a =b;
b=tmp;
}
void swap2(int &a, int & b){
int tmp = a;
a =b;
b=tmp;
}
int main(){
int a =1;
int b= 2;
std::cout<< a << " " << b << std::endl;
swap1 ( a, b);
std::cout << a << " " << b << std::endl;
swap2 (a, b);
std::cout << a << " " << b << std::endl;
}
求问 两swap函数的区别 麻烦讲下地址那会事儿 谢谢

幕布斯7119047
浏览 927回答 4
4回答

缥缈止盈

swap1是普通的传参对a,b没有影响。swap2传入的是别名不是地址,a,b会交换.传地址a,b也会交换,声明是void swap3(*a,*b);调用时是swap3(&a,&b);
随时随地看视频慕课网APP
我要回答