指针和引用的比较

来源:互联网 发布:finale打谱软件 mac版 编辑:程序博客网 时间:2024/05/17 08:31

 (—)使用指针变量做形参,实现变量互换

(1)
#include <iostream>using namespace std;int main() {void swap( int * ,int * );int i=3,j=5;    swap( &i,&j );                   //取地址值cout<<i<<" "<<j<<endl;           //i和J的值已经通过下边形参进行了交换system("PAUSE");return 0;}void swap( int *p1, int *p2 )           //形参是指针变量{int temp;temp=*p1;                            //实现形参的转换*p1=*p2;*p2=temp;}


 

(2)

#include <iostream>using namespace std;void swap( int *p1, int *p2 );void swap( int *p1, int *p2 )           //形参是指针变量{int temp;temp=*p1;                            //实现形参的转换*p1=*p2;*p2=temp;}int main() {void swap( int * ,int * );int i=3,j=5;    swap( &i,&j );                   //取地址值cout<<i<<" "<<j<<endl;           //i和J的值已经通过下边形参进行了交换system("PAUSE");return 0;}


(二)

引用形参实现互换

(1)

#include <iostream>using namespace std;int main() {void swap( int & ,int & );int i=3,j=5;    swap( i,j );                      //取地址值cout<<i<<" "<<j<<endl;           //i和J的值已经通过下边形参进行了交换system("PAUSE");return 0;}void swap( int &a, int &b )             //实现形参的转换{int temp;temp=a;                            a=b;b=temp;}


(2)

#include <iostream>using namespace std;void swap( int &a, int &b );void swap( int &a, int &b )             //实现形参的转换{int temp;temp=a;                            a=b;b=temp;}int main() {void swap( int & ,int & );int i=3,j=5;    swap( i,j );                      //取地址值cout<<i<<" "<<j<<endl;           
system("PAUSE");return 0;}