引用
引用是一个别名,它的作用就是作为目标的别名而使用,对这个引用的改动,就是对目标的改动。
定义
例如引用一个整型变量:
代码语言:javascript复制int a=666;
int &ra=a;
引用运算符&与地址操作符使用相同的符号,虽然它们显然是彼此相关的,但它们又是不一样的。
和指针类似,下面的引用定义是等价的:
代码语言:javascript复制int& ra=a;
int &ra=a;
int & ra=a;
引用必须在定义的时候就进行初始化。而且必须在申明引用之前其引用的目标已经有申明或定义。
就像我们给张三起绰号叫猪头三一样,我们提到张三很卷和说猪头三很卷是一样的。
引用是不占内存空间的,它就是一个别名而已。
不能引用数组。
那它有什么用处呢?
应用
经常用来传递函数参数。
我们说如果要写一个函数交换两个变量的值,首先可以用指针,此外就是用我们的引用。
代码语言:javascript复制#include<stdio.h>
void swap(int &a,int& b)
{
int temp;
temp=a;
a=b;
b=temp;
}
int main()
{
int a=1,b=2;
swap(a,b);
printf("%d %d",a,b);
}
另外,因为函数只能返回一个值,所以如果想函数返回多个值的话,一种方法就是返回一个结构体,还有就是用引用传递参数,在函数中去修改目标值。