#include <iostream>
using namespace std;
void swapr(int &a,int &b);
void swapp(int *pa,int *pb);
void swapv(int a,int b);
int main()
{
int wallet1=300;
int wallet2=350;
cout << "wallet1 = "<<wallet1<<endl;
cout << "wallet2 = "<<wallet2<<endl;
cout << "Using reference to swap contents:" << endl;
swapr(wallet1,wallet2);
cout << "wallet1 = "<<wallet1<<endl;
cout << "wallet2 = "<<wallet2<<endl;
cout << "Using pointers to swap contents:" << endl;
swapp(&wallet1,&wallet2);
cout << "wallet1 = "<<wallet1<<endl;
cout << "wallet2 = "<<wallet2<<endl;
cout << "Using pointers to swap contents:" << endl;
swapv(wallet1,wallet2);
cout << "wallet1 = "<<wallet1<<endl;
cout << "wallet2 = "<<wallet2<<endl;
return 0;
}
void swapr(int &a,int &b)
{
int temp;
temp = a;
a = b;
b = temp;
}
void swapp(int *pa,int *pb)
{
int temp;
temp = *pa;
*pa = *pb;
*pb = temp;
}
void swapv(int a,int b)
{
int temp;
temp = a ;
a = b;
b = temp;
}
引用和指针都可以改变原调用函数的实参值,值传递不可以。

原创文章,作者:,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/274551.html