社区
设计模式
帖子详情
资源管理问题
MagiSu
2010-06-08 02:27:51
现有资源用RAII封装在类A中。类B,C,D通过A的接口访问资源。我的设计是在BCD中各自保存一个指向A的指针或者引用。但是这不可避免的产生A已经过了生存期,但是BCD却不会被通知,这样就产生segfault了。如果不引入A向BCD反馈的机制,如何防止上述的错误发生呢?
...全文
107
8
打赏
收藏
资源管理问题
现有资源用RAII封装在类A中。类B,C,D通过A的接口访问资源。我的设计是在BCD中各自保存一个指向A的指针或者引用。但是这不可避免的产生A已经过了生存期,但是BCD却不会被通知,这样就产生segfault了。如果不引入A向BCD反馈的机制,如何防止上述的错误发生呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
donkey301
2010-06-11
打赏
举报
回复
在BCD中A的指针初始值设为NULL,
A的指针过了生存期删除后也把A的指针赋值为NULL
在BCD中要用A的指针前判断是不是这个指针为NULL.
MagiSu
2010-06-10
打赏
举报
回复
[Quote=引用 6 楼 sixbusy 的回复:]
观察者模式 吗
[/Quote]
对,观察者模式。
sixbusy
2010-06-09
打赏
举报
回复
观察者模式 吗
MagiSu
2010-06-09
打赏
举报
回复
[Quote=引用 4 楼 nut799 的回复:]
资源类A的生存期 没有设成全局变量,和程序一样长 ?难道 是局部变量?
[/Quote]
是的,需要在不用的时候释放。
nut799
2010-06-08
打赏
举报
回复
资源类A的生存期 没有设成全局变量,和程序一样长 ?难道 是局部变量?
MagiSu
2010-06-08
打赏
举报
回复
[Quote=引用 2 楼 wave820930 的回复:]
不反馈的话 用全局变量记录生存状态 可行么?
[/Quote]
有道理。
huang_dy
2010-06-08
打赏
举报
回复
不反馈的话 用全局变量记录生存状态 可行么?
Poptang
2010-06-08
打赏
举报
回复
不做反馈,还真的没有啥好办法呢。。。因为A的释放是不确定的,检查机制也不太好使
一般这样的需求采用引用计数,当引用计数为0的时候才给删除。。。
C#实现摄像头控制
在WIN7操作系统中,
资源管理
器里面已经无法打开摄像头了, 这个小工具使用AForge类库实现C# 操作摄像头, 代码超级简捷 , 5行核心代码解决
问题
所有
问题
.
关于Win10
资源管理
器总是崩溃的
问题
解决方案
参照网上的各种方法,无论是安装电脑管家进行修复还是禁用一些服务、修改注册表、更改文件夹选项都无法解决文件管理器崩溃的
问题
,最后发现将
资源管理
器的打开方式设置为“此电脑”就可以轻松解决此
问题
!...
计算机
资源管理
老是未响应,Win10
资源管理
器总是崩溃怎么办?文件
资源管理
器未响应解决方法...
在Win10中,文件
资源管理
器经常出现崩溃未响应的
问题
,可能出现的
问题
是,双击“此电脑”进入就出现Windows
资源管理
器未响应的
问题
,或者任意软件通过打开文件对话框选择文件出现
资源管理
器总是崩溃等等,那么Win10...
计算机
资源管理
器出
问题
怎么办,电脑
资源管理
器运行异常导致任务栏出现
问题
...
在电脑Win10系统中右击任务栏无应用,此类情况是由于“Windows
资源管理
器”运行异常所造成的,同时也与“最常访问”扩展菜单影响右键菜单弹出速度有关,针对此类情况,可以通过以下方法进行修复操作。方法/步骤方案...
解决 Win11
资源管理
器卡顿
问题
背景:大多数Win11用户都会遇到这样的
问题
,新版
资源管理
器打开文件夹巨慢,甚至有时候点两下还打不开,而且框选文件时很卡,CPU占用飙升 经过本人测试确实是微软对新版的
资源管理
器优化做的不好,如果换回Win...
设计模式
3,405
社区成员
1,071
社区内容
发帖
与我相关
我的任务
设计模式
专题开发/技术/项目 设计模式
复制链接
扫一扫
分享
社区描述
专题开发/技术/项目 设计模式
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章