本文共 505 字,大约阅读时间需要 1 分钟。
引用就是某一个变量的别名,引用的地址就是原变量的地址,引用的值就是原变量的值
不能建立引用的数组,例如:int & ref[3] = { 2, 3, 5}; //声明ref引用的数组是错误的
但是可以建立数组的引用:例如:int arr[3]; int (&tef)[3] = arr; //这是这是正确的
为什么数组中的元素不能是引用?
c++中,引用可以说只是某个变量的别名,所谓别名,是和指针类型区分开的:指针类型也可以指向某个变量,但指针类型本身也是一个变量,而引用实际上不是一个变量。更本质来说,可以理解为引用没有自身的地址,不占用内存空间(这里为了简化问题可以这样考虑)。因此,声明引用数组没有办法分配空间,因为根本就没有空间可以分配给引用。所以不能声明和定义引用数组
例如:
数组元素的引用为:int& arr[3];但是引用不可以作为数组中的元素,原因是C++不支持传统意义的复制,
传统的复制为:int a = b;
这里a和b在内存中分别占用,内容一致
如果是:int &a = b;
这种类型,内存中a并不分配新的内存,无法完成复制,对于数组元素是引用来说,一样没法完成数组元素的复制操作
转载地址:http://vdkqi.baihongyu.com/