1 /* 2 例子來源於《C++ Primer》 3 */ 4 int *ptrs[10]; //prts是含有10個整數類型指針的數組 5 int &refs[10]; //錯誤,沒有引用的數組 6 int (*Parray)[10]; //指向有10個整型元素數組的指針 7 int (&arrRef)[10]; //引用有10個整型元素數組的指針 8 int *(&arry)[10]; //引用有10個整型指針元素數組的指針
對於數組聲明的理解,采用由內向外的原則。(《C++ Primer 第五版》)
int *ptrs[10]; 首先ptrs是一個數組,int *定義數組元素的類型。
int &refs[10]; 引用是一個變量的別名,引用沒有自己的內存空間,其和被引用的變量共用一塊內存空間,因此引用數組無法分配空間,引用數組也就無法存在。
int (*Parray)[10]; 首先Parray是一個指針,指向有10個元素的數組,數組元素類型是整型。
int (&arrRef)[10]; 首先arrRef是一個引用,引用的對象是有10個元素的數組,數組元素類型是整型。
int *(&arry)[10]; 首先arry是一個引用,引用的對象是有10個元素的數組,數組元素類型是整型指針。