Chinaunix首页 | 论坛 | 博客
  • 博客访问: 467798
  • 博文数量: 148
  • 博客积分: 2510
  • 博客等级: 少校
  • 技术积分: 1553
  • 用 户 组: 普通用户
  • 注册时间: 2008-02-23 23:09
文章分类

全部博文(148)

文章存档

2010年(6)

2009年(58)

2008年(84)

我的朋友

分类: C/C++

2008-06-30 10:23:03

如果程序员想修改指针本身,而不是指针引用的对象那么他可以声明一个参数,该参数是一个指针的引用。例如,下面是交换两个指针的函数:
 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;
 }
 
阅读(1708) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~