函数实现
void swap(int &a, int &b)
{
int tmp = a;
a = b;
b = tmp;
}
函数使用:
int i=1,j=2;
swap(i,j);
如上所示,swap函数传递进来的是两个整形变量的地址,有两个问题
1、那么swap的实现里面,为什么直接交换a,b的值就实现了地址交换?难道这里的a,b代表指针吗?
2、使用swap时为什么没有使用swap(&i,&j)?
初学c++,还望大家多多提点指教,先谢谢各位了
函数实现
void swap(int &a, int &b)
{
int tmp = a;
a = b;
b = tmp;
}
函数使用:
int i=1,j=2;
swap(i,j);
如上所示,swap函数传递进来的是两个整形变量的地址,有两个问题
1、那么swap的实现里面,为什么直接交换a,b的值就实现了地址交换?难道这里的a,b代表指针吗?
2、使用swap时为什么没有使用swap(&i,&j)?
初学c++,还望大家多多提点指教,先谢谢各位了
[你这里处理得参数是引用,它可以修改变量得值,并能够生效。引用是hicpp的概念。跟指针有点像。