博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
函数返回数组指针
阅读量:4297 次
发布时间:2019-05-27

本文共 402 字,大约阅读时间需要 1 分钟。

很多场景下,需要主函数获取子函数产生的数组。然而子函数的数组声明在栈上,函数退出时会自动清除该内存空间的内容,直接返回指针就会出事。

有两种方法可以解决这个问题:

  • 在主函数中事先声明数组,然后将其指针传到子函数中进行修改。

    例如:

    int array[100];int num=0;// void func(int *array, int &num)func(array,num);

但是这样有一个问题,就是需要事先分配好大小,可能会造成溢出或者浪费。因此考虑有第二种选择。

  • 使用new来在子函数中为数组分配空间。因为new操作将数组在堆上分配内存,因此必须要手动释放才会销毁其中的内容。因此可以放心的把该数组的指针返回给主函数。——记得最后释放掉。

    例如:

    int *func(){    int k = 10;    int * res = new int[k];    for(int i =0;i

转载地址:http://avcws.baihongyu.com/

你可能感兴趣的文章
罗辑思维
查看>>
文章索引-跨平台开发
查看>>
简单理解全栈工程师
查看>>
认识wxWidgets2
查看>>
wxWidgets和QT之间的选择
查看>>
在wxWidgets中使用OpenCV绘制摄像头图像
查看>>
使用wxWidgets进行跨平台的C++开发
查看>>
windows下 搭建 wxWidgets 开发环境
查看>>
CSDN文章搜索方法
查看>>
关于Ribbon界面 和 一些使用方法
查看>>
vs2010 mfc中 出现: “当前不会命中断点。源代码与原始版本不同”
查看>>
对开源C++网络库简单应用总结
查看>>
关于MFC未来的感悟
查看>>
C++开源库
查看>>
半透明: MFC实现父窗口不透明,子窗口半透明效果
查看>>
创建兼容的DC
查看>>
CEdit
查看>>
经典软件设计模型 - MVC
查看>>
作为软件工程师,你必须知道的20个常识
查看>>
如何隐藏RibbonBar的QAT QuickAccessToolBar
查看>>