引用的基本概念
C++是为已存在的变量取一个别名,引用和引用的变量共用同一块内存空间。
int a = 1;
int &b = a;//初始化
int c = 3;
b为已经存在的变量,a为b的引用,引用使用指针实现的。
引用的特点
1.引用实体和引用类型必须为同种类型。
2.引用在定义时必须初始化,并且不可为NULL。
3.不可以改变引用的关系。
被const修饰的引用变量也必须被const修饰
在C++中引用和C语言传参比较 更为方便,它可以直接在函数内部对实参进行修改,提高了函数调用和运行效率。返回值若为引用的话,不会在内存产生返回值的副本。
引用和指针的区别
1.引用在定义时必须被初始化并且不能设置为NULL,而指针没有要求。
2.引用不能改变引用的类型,而指针随意。
3.有多级指针 但是没有多级引用。
4.引用++和指针++不同,指针++是在指针地址上进行偏移,而引用是单纯的自增+1;
5.引用的sizeof结果为引用类型大小,而指针在64位内存下是8字节,在32位内存下是4字节,不同情况下的原因是一个字节占8位.
6.指针是一个实体,需要分配内存空间,引用不需要,引用用的是它所引用的那份空间,不需要分配内存。