一个关于函数返回指针的问题!·

smartlife 2003-12-20 12:03:47
现在我要做一个dll, 给别人提供一些接口函数,有个接口函数要返回指针(就是我要在函数内部形成这个对象的实体并通过指针传出来给别人用), 现在的问题是我要形成这个实体必须要用new 申请内存(堆中形成)。才能传给有用的指针给别人, 那么别人还要调用我得另外一个函数释放这些内存。 我觉得这样比较麻烦,假如别人这样调用
funa()
funa()
funb()
那么就会出现内存泄漏!

我想问有没有什么好的方法能从函数中返回有效指针,而不要new 。 del 等等!
...全文
57 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
beyondtkl 2003-12-20
  • 打赏
  • 举报
回复
gz
smartlife 2003-12-20
  • 打赏
  • 举报
回复
to akiy(winexec) :
你的意思是不是调用我的人new 一下 , 传到我的dll中的函数来,我再上面操作,但是他并不知道我这个函数要多大的空间呀(就是说没有进入我这个函数,我并不知道要多大空间), 这个怎么办呢!
Longitude 2003-12-20
  • 打赏
  • 举报
回复
对,谁申请,谁释放,这是原则,否则很容易出现内存泄露
akiy 2003-12-20
  • 打赏
  • 举报
回复
我喜欢从外面分配一个空间,把指针传给函数
函数里面使用这个空间而不用分配和删除
调用的地方用完了删除就行了
akiy 2003-12-20
  • 打赏
  • 举报
回复
对呀,要看情况了
我个人意见,尽量估算出可能用到的内存的最大值,然后分配一个大点的缓冲区总比乱分配乱删除要好
如果实在不行,可以让dll导出一个类来,把内存分配,内存删除都做成函数,然后按照这样的顺序操作,传参数,分配内存,处理,取出处理结果,删除内存,感觉有点像com的初始化和销毁
chuanke 2003-12-20
  • 打赏
  • 举报
回复
有源代码好说一些!

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧