尾置返回类型

下述内容,均从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 <typename It>
auto fcn(It beg, It end) -> decltype(*beg)
{
	return  *beg;		//返回序列中一个元素的引用
}



  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值