引用是C++的一个特殊的数据类型描述,主要用来程序不同的部分,指向同一个地址,这可以通过改变其中变量从而改变另一个变量。
引用运算符为&
形式: 数据类型&引用变量名=变量名
例子:
#include <iostream>
using namespace std;
int main ()
{
int x;//这里需要声明x,因为x是变量名,y只是引用变量名。
int &y=x;
x=30;
y=20;
cout<<x<<" "<<y<<endl;
return 0;
}
答案为20 20
因为指针也是变量,所以可以有以下的操作
int *a;
int *&p=a;
int b;
p=&b;
注意这里不能写int *p;int &p=a;
需要注意地址运算符和引用运算符
地址运算符:
int *p;
p=&x;
引用运算符:
int x;
int &y=x;
这个&有绑定两个变量的作用
如果不加&
#include <iostream>
using namespace std;
void f (int x,int y)
{
int t;
t=x;
x=y;
y=t;
}
int main ()
{
int a=30;
int b=40;
f(a,b);
cout<<"a="<<a<<" "<<"b="<<b<<endl;
return 0;
}
里面的数据不会有交换
加了以后
#include <iostream>
using namespace std;
void f (int &x,int &y)
{
int t;
t=x;
x=y;
y=t;
}
int main ()
{
int a=30;
int b=40;
f(a,b);
cout<<"a="<<a<<" "<<"b="<<b<<endl;
return 0;
}