c++中返回数组的函数
2014-04-22 21:00
393 查看
在C++中,是不可以直接返回一个数组的,一般返回数组的指针。
有如下几种方法:
1.直接声明
2.采用typedef和using 声明类型:
typydef int (*arr)[10];
或者 using arr = int(*)[10];//c++11
3.采用尾随的返回类型 trailing-return-type
//c++11
4.使用decltype关键字//C++11
使用返回数组的函数一定尧注意释放内存和防止悬挂指针
有如下几种方法:
1.直接声明
int (*f1())[10] { int (*p)[10];//声明数组的指针变量 p = (int (*)[10])calloc(10,sizeof(int));//为数组申请空间 for(int i = 0;i<10;i++) (*p)[i] = i+21; return p; }
2.采用typedef和using 声明类型:
typydef int (*arr)[10];
或者 using arr = int(*)[10];//c++11
arr f2() { int (*p)[10]; p = (int (*)[10])calloc(10,sizeof(int)); for(int i = 0;i<10;i++) (*p)[i] = i+21; return p; }
3.采用尾随的返回类型 trailing-return-type
//c++11
auto f3()->int(*)[10] { int (*p)[10]; p = (int (*)[10])calloc(10,sizeof(int)); for(int i = 0;i<10;i++) (*p)[i] = i+21; return p; }
4.使用decltype关键字//C++11
int (* m)[10]; decltype(m) f4(){ int (*p)[10]; p = (int (*)[10])calloc(10,sizeof(int)); for(int i = 0;i<10;i++) (*p)[i] = i+21; return p; }
使用返回数组的函数一定尧注意释放内存和防止悬挂指针
相关文章推荐
- C++ 从函数返回数组
- C++中如何使函数返回数组
- C++ override返回数组引用的函数写法
- C++中函数如何返回数组
- c++函数内部可以返回函数内部定义的指针 但是不能返回函数内部定义的数组
- C++之旅<怎样让函数返回数组>
- c++函数返回数组
- c++ 函数返回数组
- C++函数返回数组
- 让c++ 函数返回一个数组
- c++学习笔记(七):函数返回数组
- 让c++ 函数返回一个数组
- 【C++】从函数返回数组
- c++函数如何返回多值,返回数组的函数该如何调用
- C/C++函数返回数组指针的一点点小姿势
- C++ 怎样让函数返回数组
- 关于C++中函数能不能返回数组问题
- C++基础4 类 const函数 转全局函数 返回*this 数组类。友元 函数 类 操作符重载
- c语言,c++函数返回一个数组,二维数组
- C++做一个返回数组指针的函数