自学内容网 自学内容网

C++指针与引用的对比

交换a、b值 

方法一

使用指针,需在传参时传递地址,并且需新定义两个指针变量分别指向a、b。

void Swap(int* p1, int* p2) {
int t;
t = *p1;
*p2 = *p1;
*p2 = t;
}//注意两处的*含义不同,第一处*是定义指针变量,*只是起到说明作用
//第二处*是解引用,*p1为实际值
int main() {
int a, b;
cin >> a >> b;
int* pa = &a;
int* pb = &b;
swap(*pa,*pb);
cout << "a= " << a << "b= " << b;
return 0;
}

方法一

使用引用,C++引入引用,只需在函数定义时指明别名,函数调用时,x,y就初始化为a,b的别名,共用内存空间。

void Swap(int &x, int &y) {

int t;
t = x;
x= y;
 y= t;
}
int main() {
int a, b;
cin >> a >> b;
swap(a, b);
cout << "a= " << a << "b= " << b;
return 0;
}


原文地址:https://blog.csdn.net/2301_80162458/article/details/135574428

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!