C++11 尾置返回类型

之前我们在声明函数的时候最前面的必然是函数的返回值类型,如:

int sum(int a,int b);

对于返回值简单的函数来说这样做比较直观清晰,但是当返回值复杂的时候,这种方式就显得不那么直观了:

int (*func(int i))[10];

 这个函数的返回值类型是什么呢?就需要从内而外,抽丝剥茧了:

func(int i)//func函数的形参为int类
(*func(int i))//对func函数调用结果进行解引用
(*func(int i))[10] //调用func函数解引用后得到大小为10的数组
int (*func(int i))[10]//数组中的类型为int型

明显这样的声明方式不是很直观,我们就可以使用尾置返回类型:

auto func(int i) -> int(*)[10];

使用auto替换原来的返回类型,在后面使用->返回类型,这样我们可以清晰的知道返回值为指向了10个元素的int型数组。

posted on 2017-08-30 09:49  CodeBeauty  阅读(614)  评论(0编辑  收藏  举报

导航