今天发现我在学习的过程中一直有一个问题理解错误,我一直认为引用数组与数组引用是一个概念,在学习的时候记得书上有这样一句话c++中没有引用数组,于是我认为也不存在数组引用,但是昨天晚上一个问题使我认识到我错了.
在c++ primer 第四版第七章函数中有一节是讲通过引用传递数组,看到这个标题我就懵了,这是怎么回事,到目前为止我终于理解了,原来我之前一直把书上的那句话理解错了.
c++中不存在引用数组
数组是占存储空间的,它实际上是指针,保存了N个相同大小的内存地址,引用是不占用内存的,所以如果出现了引用数组,引用不占内存,数组占内存,这是相互矛盾的(如果这一点不能理解,你应该好好的分析这段话,并查阅相关的资料看一下)
c++中存在数组引用
数组引用就是数组的引用.
int a = 10;
int &b = a;
b是int类型引用,那么你看下面的代码这个引用是什么呢?
int a[10];
int (&b)[10] = a;
这是什么情况?没错,b是数组类型引用,它和a是等价的.