前言:引用可以看作是数据的一个别名,通过这个别名和原来的名字都能够找到这份数据。
引用比指针更加方便和易用,但是其实引用只是对指针进行了简单的封装,他的底层依然是通过指针来实现的。
一、为什么使用引用?
参数的传递本质上是一次赋值的过程,赋值就是对内存进行拷贝。对于char、int等基本类型的数据,他们占用的内存仅仅是几个字节,对他们进行拷贝非常快,而数组、结构体、对象是一系列数据的集合,对他们频繁的内存拷贝可能会消耗很多时间,拖慢执行效率。
引用的使用格式:和指针很类似,type &name=data
type是指被引用的类型,name是别名,data是被引用的数据。引用必须在定义的同时进行初始化,并且以后不可以再引用其他数据
引用在定义时需要加&,在使用时,不能加&,使用时加&表示取地址。
二、引用可以干什么?
1、引用做函数的形参
void swap(int &a,int &b)
{
int temp;
temp=a;
a=b;
b=a;
};
2、引用做函数的返回值
不能返回局部变量的返回值
int& swap(int a,int b)