默认状况下,类型修饰符从右向左顺次绑定。例如:
int *ptrs[10]
代表的就是一个大小为 10 的数组,它的名字是 ptrs,外面寄存的内容是指向 int 的指针。
然而碰到比较复杂的数组申明,例如:
int (*Parray)[10] = &arr
就要从外向外读,首先读括号外面的局部,×Parray 意味着 Parray 是一个指针,接下来察看左边,可晓得 Parray 是一个指向大小为 10 的数组的指针,最初察看右边,晓得数组中的元素是 int。
int (&arrRef)[10] = arr;
在下面这个例子中,arrRef 是一个援用,它援用的对象是一个大小位 10 的数组,数组中元素的类型是 int。
ps:int &ref[10] = /* ? */
谬误,不存在援用的数组