注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Mihooke's blog

IT之恋

 
 
 

日志

 
 

使得一个函数返回固定元素的数组  

2017-06-10 18:31:13|  分类: C++ |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
在C++11之前,如果我们要实现一个函数返回一个数组,比如,返回一个int数组,通常我们会定义一个int指针,而这个指针一般是指向堆内存(因为函数不能返回局部对象),然后让该函数返回该int指针,类似

int *MyFunc(...)

{

int *ptr = new int[NUM];

return ptr;

}

这样做会有一些小问题:该函数的使用者必须时刻牢记释放内存。
C++11提供了一种返回数组的方法,示例如下
typedef int arr[NUM];
using arr = int[NUM];
arr *func()
{
}
其中using语句就是表示arr是包含NUM个int元素的数组,arr可以直接当做函数的返回值。

还有一种方法就是声明一个返回数组指针的函数,示例如下
int (*func(int i))[NUM];
这样的表示法也是返回一个数组的指针,该数组包含NUM个int元素。

另外,C++11还提供了一种方法:尾置返回类型,这种方式可以随意设定函数的返回类型,示例如下

auto func(int i) -> int(*)[NUM]

在函数的参数之后加个指针运算符,后面是返回类型,比如int(*)[NUM]就是包含NUM个int元素的数组指针。
  评论这张
 
阅读(27)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017