今天要讲的是C++中我最喜欢的一个用法——引用,也叫别名。

引用就是给一个变量名取一个变量名,方便我们间接地使用这个变量。我们可以给一个变量创建N个引用,这N + 1个变量共享了同一块内存区域。(引用类型的变量会占用内存空间,占用的内存空间的大小和指针类型的大小是相同的。虽然引用是一个对象的别名,但是在汇编层面,和指针是一样的。)

引用的定义
应用的定义和变量的定义差不多,主要的不同在于它指向的是一个变量,而不是和变量一样指向的是某一个数值或其他类型的数据。
创建引用的格式如下:
数据类型 &引用名 = 原变量
比如:
int a = 1; int &b = a;
注意:由于引用并不需要申请一块新的内存空间,因此在建立引用时只能声明,不能定义。
面试题中常考这个知识点,请问下面的代码是否正确:
int a = 1; int& b; b = a;
当然,它是错的。第二行错误,引用在声明的时候必须指定一个已有的变量,否则编译器不知道给它分配哪一块内存空间。
引用的特性
前面已经提到了,引用唯一的特性就是使用已有的内存空间。我们用一段小程序来验证这个特性。

大家可以自己运行一下这段代码,整个过程中,无论a发生变化还是b发生变化,a和b的值始终保持一致

本文介绍了C++中的引用类型,作为变量的别名,引用不占用额外内存,且必须在声明时初始化。文章讲解了引用的定义、特性、注意事项,包括引用作为函数参数的优势,并给出了引用类型不匹配和不能建立引用数组的错误示例。引用是C++中一种高效传参的方式,尤其是在避免值复制时。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



