C++ 返回指向数组指针的函数
来源:互联网 发布:手机接单软件 编辑:程序博客网 时间:2024/05/16 06:10
数组不能被拷贝,函数不能返回数组,只能返回数组的指针或者引用。
理由:会造成不必要的开销。因为数组的复制将导致连续的内存读与内存写,其【时间】开销取决于数组长度,有可能会变得非常大。C语言的函数参数传递只有pass by value这一种形式,由于拷贝数组开销巨大,因此C语言使得当数组作为实参传递给函数的时候,将退化为同类型的指针,然后对那个指针pass by value。
函数指针:
int(*fun())();
函数返回指向数组的指针:
int(*fun())[];
数组里面是函数指针:
int(*foo[])();
定义一个 返回数组指针的函数 的方法, 返回一个含有10个整型元素的数组的指针 的函数为例。
int (*test()[10]{ int (*n)[10] = (int (*)[10])new int[10]; for (int i = 0; i < 10; i++) (*n)[i] = i; return n;}
//尾置返回类型 (C++11标准)auto test()->int(*)[10]{ return getArr(arr);}
//使用类型别名(1)typedef int arrT[10];arrT* test(){ return getArr(arr);}
//使用类型别名(2)(C++11 标准)using arrT2 = int[10];arrT2* getCopyArr4(){ return getArr(arr);}
0 0
- C++ 返回指向数组指针的函数
- 【C++】指向函数的指针与返回指针的函数
- 返回指向函数的指针
- C语言中的指针(指针数组 数组指针 函数指针 函数指针数组 指向函数指针数组的指针)
- C/C++——指向函数的指针和指向函数的指针的数组
- 函数指针,返回指向函数的指针
- c语言学习,指针函数、函数指针、指针的指针、指向指针数组的指针
- c语言学习,指针函数、函数指针、指针的指针、指向指针数组的指针
- c语言:数组指针,指针数组,函数指针,函数指针数组,指向函数指针数组的指针
- C语言:浅析指针数组、数组指针、函数指针、函数指针数组、指向函数指针数组的指针
- 【C】理解指针数组、数组指针、函数指针、函数指针数组、指向函数指针数组的指针
- C和指针之函数之在数组中找特定元素并返回指向该位置的指针
- 指向函数的指针数组
- 指向函数的指针数组
- 指向函数的指针数组
- 指向函数的指针数组
- 指向函数的指针数组
- 指向函数的指针数组
- java final 学习
- H5学习笔记
- 集合框架-TreeSet保证元素唯一性和自然排序的原理和图解
- CentOS配置163源
- linux文件只有读、写,没有执行权限 怎么加
- C++ 返回指向数组指针的函数
- Java 设计模式情景分析——装饰模式
- activex 使用与注册
- populating-next-right-pointers-in-each-node-ii(二叉树每层用指针链接)
- iOS开发学习总结——数据存储和参数传递
- 图片理解数字签名和验签过程
- 校招必考:根据二叉树遍历序列确定二叉树
- 《深入浅出nodejs》异步I/O笔记(2)
- 分布式文件系统下的本地缓存