注册 登录
编程论坛 C++教室

问个指针的问题

lx010577 发布于 2008-11-07 19:10, 627 次点击
void ptrswap(int *&v1, int *&v2)
     {
         int *tmp = v2;
         v2 = v1;
         v1 = tmp;
     }
这是C++Primer上的一个例子
这里第一个tmp前为什么要加*号呢(*tmp=v2)?而第二个tmp为什么不加呢?
3 回复
#2
zqm02092008-11-07 19:56
int *tmp = v2;
这一句是声明指针的同时给指针赋值,相当于
int *tmp;
tmp=&v2;
v1 = tmp;两个都是指针变量,直接赋值
#3
youhm2008-11-07 20:27
楼上正解

这个函数是交换两个指针的值,是按引用传递
#4
lx0105772008-11-07 21:15
thanks
1