关于消息机制中传递指针的问题,何时销毁何时NEW?

大板牙花生 2020-09-28 10:22:54
关于消息机制中传递指针的问题,通过消息机制需要传递大量数据,如果使用指针的话,应该在何时销毁指针是安全的?又不会影响消息机制的运行?
...全文
199 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
千梦一生 2020-09-29
  • 打赏
  • 举报
回复
引用 10 楼 千梦一生 的回复:
指针就图书馆中像一个记载着某类图书位置的记录,可以是保存在磁盘中的某几个字节的数据,也可以是写在文件某页某行的地方,也可以是记在脑子里。

什么时候free掉就看你什么时候认为、确定这条记录将永远不再被使用。则可以从电脑上删除这几个字节,也可以在文件中把这行文字摸黑,也可以把脑子卸下来。然而如果没料到,从此竟还有再想找这类图书的时候,那得想其它办法。【书还是在那个书架上,只是看你还有没有其它记录残存着。当然如果在你抹去这条记录之前,通过这个记录找到这类书籍全部焚毁/delete的话。从此,书也没了】

什么时候free掉就看你什么时候认为描述错误。什么时候删除掉指针(如退出函数,局部变量失效之类...)
千梦一生 2020-09-29
  • 打赏
  • 举报
回复
指针就图书馆中像一个记载着某类图书位置的记录,可以是保存在磁盘中的某几个字节的数据,也可以是写在文件某页某行的地方,也可以是记在脑子里。

什么时候free掉就看你什么时候认为、确定这条记录将永远不再被使用。则可以从电脑上删除这几个字节,也可以在文件中把这行文字摸黑,也可以把脑子卸下来。然而如果没料到,从此竟还有再想找这类图书的时候,那得想其它办法。【书还是在那个书架上,只是看你还有没有其它记录残存着。当然如果在你抹去这条记录之前,通过这个记录找到这类书籍全部焚毁/delete的话。从此,书也没了】
qq_33487700 2020-09-28
  • 打赏
  • 举报
回复
PostMessage结束后,你程序中肯定有个函数用于接受并处理你post的自定义消息。假设你的数据封装在结构体中,你就可以定义一个结构体指针来指向传出来的数据。然后用局部变量取出结构体指针中成员的值。最后直接delete结构体指针就可以了。
lin5161678 2020-09-28
  • 打赏
  • 举报
回复
只是参数 你用完就可以free 不会影响消息
sdghchj 2020-09-28
  • 打赏
  • 举报
回复
在你不再使用的时候
lin5161678 2020-09-28
  • 打赏
  • 举报
回复
引用 6 楼 大板牙花生 的回复:
引用 5 楼 lin5161678 的回复:
引用 4 楼 大板牙花生 的回复:
引用 1 楼 sdghchj 的回复:
在你不再使用的时候
确实是在你不用的时候但问题是如何确定何时不用呢?应该有法则吧
当然是没有了
如果需要在消息中传递指针 是应该在处理消息的代码中销毁指针呢还是在new指针的地方销毁指针呢?
你用完就可以free
真相重于对错 2020-09-28
  • 打赏
  • 举报
回复
一个c/c++程序员的基本功是,对你的程序里所有资源有准确的把握。用与不用是由你决定,这就是所谓的c/c++更加自由,掌控力度大。
qybao 2020-09-28
  • 打赏
  • 举报
回复
引用 6 楼 大板牙花生 的回复:
如果需要在消息中传递指针 是应该在处理消息的代码中销毁指针呢还是在new指针的地方销毁指针呢?

这个看你想怎么控制了。
个人认为哪个创建就哪个负责销毁,避免消息接收方忘了销毁(有可能消息接收方不是你的程序,是别人的程序,别人不应该销毁你程序创建的东西)。这种情况,你要么就让消息接收方处理完后调个回调,要们就是你发送消息后对消息有个期限,期限过后无条件销毁。

大板牙花生 2020-09-28
  • 打赏
  • 举报
回复
引用 5 楼 lin5161678 的回复:
引用 4 楼 大板牙花生 的回复:
引用 1 楼 sdghchj 的回复:
在你不再使用的时候
确实是在你不用的时候但问题是如何确定何时不用呢?应该有法则吧
当然是没有了
如果需要在消息中传递指针 是应该在处理消息的代码中销毁指针呢还是在new指针的地方销毁指针呢?
lin5161678 2020-09-28
  • 打赏
  • 举报
回复
引用 4 楼 大板牙花生 的回复:
引用 1 楼 sdghchj 的回复:
在你不再使用的时候
确实是在你不用的时候但问题是如何确定何时不用呢?应该有法则吧
当然是没有了
大板牙花生 2020-09-28
  • 打赏
  • 举报
回复
引用 1 楼 sdghchj 的回复:
在你不再使用的时候
确实是在你不用的时候但问题是如何确定何时不用呢?应该有法则吧

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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