[笔记]C++下的数组声明
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个元素的数组,数组元素类型是整型指针。