尾置返回类型

下述内容,均从C++Primer进行摘录总结

尾置返回类型是C++11新标准中简化声明函数的方法。常规情况下,如果我们想要定义一个返回数组指针的函数,是比较麻烦的,但通过使用尾置返回类型,就变得容易许多。

定义一个返回数组指针的函数我们可以使用一下三种方法:

常规方法:声明一个返回数组长度为10的整形数组

int (*func(int i))[10]//func(int i) 		   表示调用func函数时需要一个int类型的实参//(*func(int i)) 		   意味着我们可以对函数调用结果执行解引用//(*func(int i))[10]     调用结果返回大小为10数组//int (*func(int i))[10] 数组元素为整形
②使用 typedef或using关键字
typedef int arrT[10];   
//等价于 using arrT = int[10];arrT* func(int i);     //声明func函数
③使用 尾置返回类型
auto func(int) -> int(*)[10];  //声明Func函数
此外,我们还可以在 模板中使用尾置返回类型
//示例中模板接受一对迭代器和返回序列中的一个解引用
template 
auto fcn(It beg, It end) -> decltype(*beg)
{return  *beg;		//返回序列中一个元素的引用
}




本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部