参考C++ Priner 第五版
- 使用默认带维度的形式
int (*func(int i)) [10];//由内到外层层外推,返回一个指向有10个int类型数组的指针
2)使用类型别名
typedef int arr[10];
using arr = int[10];//和上一句等价.把数组用一个简短的别名代替
arr* func(int i);//返回arr类型的指针,实际上就是返回一个指向有10个int类型数组的指针
3)使用尾置返回类型(C++新标准)
auto func(int i) -> int(*)[10];//返回一个指向有10个int类型数组的指针
4)使用decltype
已知函数返回的指针指向哪个数组
int odd[]={1,2,3,4,5};
decltype(odd) * arrPtr(int i){ //因为decltype不能将数组类型转为指针,所以要加上一个 *符号.
return &odd;//因为是返回数组的指针,所以必须是返回数组的地址
}