关于引用调用的问题
#include <iostream> using namespace std;
void swap(int &a,int &b );
int main()
{
int i=3,j=5;
swap(i,j);
cout<<"i="<<i<<" "<<"j="<<j<<endl;
return 0;
}
void swap(int &a,int &b)
{
int temp;
temp=a;
a=b;
b=temp;
}
以这个程序为例
我想问的是引用调用和指针是不是一回事?
#include <iostream>
using namespace std;
int main()
{
void swap(int *a,int *b);
int i=3,j=5;
swap(&i,&j);
cout<<"i="<<i<<" "<<"j="<<j<<endl;
return 0;
}
void swap(int *a,int *b)
{
int temp;
temp=*a;
*a=*b;
*b=temp;
}
这个和上面的程序区别在哪?有什么实质性的不同呢?
还有就是在最上面的程序中,&a和&b是形参啊,而main函数里的x,y并没有定义他们的引用,那怎么就可以说是引用了呢?