如果程序员想修改指针本身,而不是指针引用的对象那么他可以声明一个参数,该参数是一个指针的引用。例如,下面是交换两个指针的函数:
void ptrswap(int *&v1,int *&v2)
{
int *tmp=v1;
v2=v1;
v1=temp;
}
如下声明:
int *&v1;
应该从右向左读:v1是一个引用,他引用一个指针,指针指向int型的对象。用函数main()操纵函数rswap(),我们可以如下修改代码以便交换两个指针值:
#include
void ptrswap(int *&v1,int *&v2);
int main(){
int i=10;
int j=20;
int *pi=&i;
int *pj=&j;
cout<<"Before ptrswap():\tpi:"<<*pi<<"\tpj:"<<*pj< ptrswap(pi,pj);
cout<<"After ptrswar():\tpi:"<<*pi<<"\tpj:"<<*pj< return 0;
}
阅读(1743) | 评论(0) | 转发(0) |