- 论坛徽章:
- 0
|
- #include<iostream>
- using namespace std;
- void swap(int *&a,int *&b){
- int *tmp=a;
- a=b;
- b=tmp;
- }
- void swap1(int **a,int **b){
- int *tmp=*a;
- *a=*b;
- *b=tmp;
- }
- void swap2(int &a,int &b){
- a=a+b;
- b=a-b;
- a=a-b;
- }
- void swap3(int *a,int *b){
- *a=*a+*b;
- *b=*a-*b;
- *a=*a-*b;
- }
- void swap5(int ***a,int ***b){
- int **tmp=*a;
- *a=*b;
- *b=tmp;
- }
- int main(){
- int a=1,b=2;
- int *c=&a;
- int *d=&b;
- //传指针,可以交换指针本身地址,指针原本指向地址中的值不会改变
- swap(c,d);
- cout<<"*c:"<<*c<<",*d:"<<*d<<endl;
- swap1(&c,&d);
- cout<<"*c:"<<*c<<",*d:"<<*d<<endl;
- int **e=&c;
- int **f=&d;
- swap5(&e,&f);
- cout<<"**e:"<<**e<<",**f:"<<**f<<endl;
- cout<<endl;
- //传地址,交换地址中的值
- swap2(a,b);
- cout<<"a:"<<a<<",b:"<<b<<endl;
- swap3(&a,&b);
- cout<<"a:"<<a<<",b:"<<b<<endl;
- return 0;
- }
复制代码
 |
|