Mih*_*yan 28 c++ arrays reference
C++标准8.3.2/4说:
不应引用引用,不引用引用数组,也不引用引用指针.
但我无法理解为什么这个限制被添加到c ++中.在我看来,下面的代码可以很容易地编译和工作?这种限制的真正原因是什么?
int a = 10, b = 20; int &c[] = {a, b};
Jam*_*nze 27
因为对数组的索引实际上是根据对指针的隐式转换来定义的,所以指针算术.因此,为了支持这一点,您还必须支持引用指针,并定义指针算术对它们的意义.
fre*_*low 5
因为引用不是对象.引用主要是为了支持通过引用进行调用并通过引用返回,而不是&在调用站点插入.你可能想要的是一系列指针.
&
Alo*_*ave 5
无法重新分配引用,并且没有大小.
如果允许引用数组,则必须以特殊方式处理它们.
归档时间:
14 年,11 月 前
查看次数:
15368 次
最近记录:
9 年 前