社区
C++ 语言
帖子详情
如何保障对象资源被合理的析构呢?
gattuso8
2009-07-08 10:26:11
如题,对象指针被传来传去,最后希望在恰当的时候被析构掉,避免内存泄露或者重复删除的问题.
而当一个工程比较大的时候,应该如何做来保证谁来析构哪些资源呢?我看到有些代码在传递指针时写注释标识了是否传递所有权,但这终究是个注释啊.好象没能提供什么保证....
求问这方面有什么好的策略么?.
...全文
11
7
打赏
收藏
如何保障对象资源被合理的析构呢?
如题,对象指针被传来传去,最后希望在恰当的时候被析构掉,避免内存泄露或者重复删除的问题. 而当一个工程比较大的时候,应该如何做来保证谁来析构哪些资源呢?我看到有些代码在传递指针时写注释标识了是否传递所有权,但这终究是个注释啊.好象没能提供什么保证.... 求问这方面有什么好的策略么?.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gattuso8
2009-07-08
打赏
举报
回复
谢谢各位
看了 一下 感觉智能指针把工作量转移了..
我们原来写代码也是用的
谁分配,谁析构的原则.
Fleeboy
2009-07-08
打赏
举报
回复
这就是C++的灵活之处,也是麻烦的所在。
chenzhp
2009-07-08
打赏
举报
回复
最重要的还是要看开发人员的素养。其他诸如智能指针之类的。都不能完全保证
lingyin55
2009-07-08
打赏
举报
回复
多数还是要靠程序员自己把握。
wuyu637
2009-07-08
打赏
举报
回复
一般来说是谁分配谁释放,但是也有些情况下,分配者不知道什么时候可以合理的释放内存。
代码的设计是否合理,是很大程度上会影响内存的释放的。尤其在涉及到很多cache机制的时候,释放的问题更加恶心。
总的来说,没有很好的策略,只能尽量小心的设计。要不然,也不会有这么多的内存检测工具存在的必要了。
大前置
2009-07-08
打赏
举报
回复
建议是模块功能化,不要把所有的功能块连起
什么类做什么事,做完了就free
功能块独立出来..
goodname
2009-07-08
打赏
举报
回复
有一种技术叫做智能指针,其实智能指针用不好反而弄的更加混乱了。
深入c++中临时
对象
的
析构
时机的详解
c++中,临时
对象
一旦不需要,就会调用
析构
函数,释放其占有的
资源
;而具名
对象
则是与创建的顺序相反,依次调用
析构
函数。 c++源码: 代码如下:class X {public: int i; int j; ~X() {} X() {}}; int main() { X...
计算机后端-PHP视频教程. php之面向
对象
9 构造方法和
析构
方法.wmv
计算机后端-PHP视频教程. php之面向
对象
9 构造方法和
析构
方法.wmv
面向
对象
分析与设计
本课程介绍软件设计理念、方法,帮助学员成长为优秀的软件设计师!当学员完成了Java等语言的学习之后,或者从事 软件开发一段时间之后,面对一个需要开发的新软件系统: 该如何入手呢?定义多少个模块?...
LAMP大讲堂PHP面向
对象
技术全面讲解
资源
名称:LAMP大讲堂 PHP 面向
对象
技术全面讲解 内容简介:1.面向
对象
的概念2.什么是类,什么是
对象
,类和
对象
之间的关系3.什么是面向
对象
编程呢?4.如何抽象出一个类?5.如何实例化
对象
。6.如何去使用
对象
中的...
Python程序基础:构造函数.pptx
当需要删除一个
对象
来释放类所占的
资源
时,Python解释器会调用另外一个方法,这个方法就是
析构
方法。
析构
方法的固定名称为__del__()。 程序结束时会自动调用该方法; 也可以使用del语句手动调用该方法删除
对象
。
C++ 语言
64,639
社区成员
250,578
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章