vc++2005确溪水定性资源清理.pptVIP

  • 1
  • 0
  • 约3.01千字
  • 约 31页
  • 2019-01-04 发布于福建
  • 举报
vc2005确溪水定性资源清理

VC++ 2005:确定性资源清理 李建忠 上海祝成科技 高级讲师 2005年2月24日 Agenda 托管编程与资源管理 Finalizer与Dispose模式 Destructor与RAII 栈对象与确定性资源清理 追踪句柄与delete 讲座总结 QA 资源及其分类 资源是软件永恒的主题 使用资源总是难免的,但是资源泄漏总是可以避免的 两大类资源——托管内存,非托管资源 托管内存:托管堆上的内存空间 非托管资源:本地堆内存,文件句柄,数据库链接,网络链接,GDI设备句柄…… 托管内存 void myfunc(){ ArrayList^ list=gcnew ArrayList(); …… } 不需要delete,list引用的对象会在myfunc执行之后某个适当的时候(不确定)被垃圾收集器自动回收 非托管资源 void myfunc(){ StreamReader^ sr=gcnew StreamReader(“book.txt”); …… } // 资源泄漏! 虽然sr引用的对象内存不需要delete,但是该对象所使用的I/O资源需要被释放。 显式清理非托管资源 void myfunc(){ StreamReader^ sr=gcnew StreamReader(“bo

文档评论(0)

1亿VIP精品文档

相关文档