-
数组指针
int arr[10]; //arr是一个含有10个整数的数组 int *p1[10]; //p1是一个含有10个指针的数组 int (*p1)[10]; //*p1是一个含有10个整数的数组,p1是指向该数组的指针
以此类推,如果函数func的返回值是一个指针p,p指向的是一个含有10个整数的数组,则func的声明如下:
int ( *func(int i) )[10];
-
类型别名
typedef int arrT[10]; //arrT是类型别名,它表示的类型是含有10个整数的数组 using arrT = int[10]; //arrT的等价声明,C++11新用法 arrT* func(int i); //func返回一个指向含有10个整数的数组的指针
-
C++11尾置返回类型
auto func(int i) -> int(*)[10]; //func接受一个int类型的实参,返回一个指针,该指针指向含有10个整数的数组
将函数的返回类型放在形参列表之后,并在本该出现返回类型的地方放置一个auto
关于C++11尾置返回类型的更多信息参考 C++11/尾置返回类型