第七讲 异常处理.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七讲 异常处理

说明: 本PPT参考了郑莉老师的课件及教材: 郑莉 等. C++语言程序设计(第4版). 清华大学出版社,2010.7. * 说明: 本PPT参考了郑莉老师的课件及教材: 郑莉 等. C++语言程序设计(第4版). 清华大学出版社,2010.7. * 说明: 本PPT参考了郑莉老师的课件及教材: 郑莉 等. C++语言程序设计(第4版). 清华大学出版社,2010.7. * * 说明: 本PPT参考了郑莉老师的课件及教材: 郑莉 等. C++语言程序设计(第4版). 清华大学出版社,2010.7. * 说明: 本PPT参考了郑莉老师的课件及教材: 郑莉 等. C++语言程序设计(第4版). 清华大学出版社,2010.7. * 说明: 本PPT参考了郑莉老师的课件及教材: 郑莉 等. C++语言程序设计(第4版). 清华大学出版社,2010.7. * * 异常处理 异常处理 标准程序库异常处理 综合实例 异常安全性原则 智能指针 智能指针auto_ptr 智能指针 C++标准库的一个类模板 在memory头文件中定义 有一个类型参数X,表示智能指针指向数据的类型 每个智能指针对象关联一个普通指针 构造函数: explicit auto_ptr(X *p = 0) throw(); 获得与智能指针对象关联的指针:X *get() const throw(); 由于auto_ptr的“*”与“-”运算符已被重载,对一个auto_ptr的对象使用“*”和“-”,等价于对它所关联的指针使用相应运算符 智能指针auto_ptr 智能指针 更改智能指针对象关联的指针 void reset(X *p = 0) throw(); 原指针所指堆对象会被删除 解除与当前指针的关联 X* release() throw(); 注意事项 智能指针对象执行赋值和拷贝时,原对象的关联指针会被解除 一个智能指针对象一旦关联到一个指针,就意味着删除该指针所指向的堆对象的责任将由该智能指针对象承担(除非调用了智能指针的release函数,或该智能指针又被赋给了其它智能指针)。 该函数会使当前的智能指针所关联的指针变为空,然后返回智能指针原关联的指针,但不会对该指针执行delete操作。 智能指针auto_ptr小结 智能指针 一个智能指针对象在析构时,会自动对它所关联的指针执行delete 智能指针只能关联到一个指向堆对象的指针(也就是用new生成对象的指针),不能关联到其它对象的指针,也不能关联到用new动态分配的数组 如果其它变量也持有智能指针所关联的指针,注意分清释放对应堆对象的职责 将auto_ptr对象定义在栈上,可以很方便地删除堆对象,在发生异常时无须做特别处理 异常处理(小结) 异常处理 标准程序库异常处理 综合实例 异常安全性原则 智能指针 * * 说明: 本PPT参考了郑莉老师的课件及教材: 郑莉 等. C++语言程序设计(第4版). 清华大学出版社,2010.7. * 说明: 本PPT参考了郑莉老师的课件及教材: 郑莉 等. C++语言程序设计(第4版). 清华大学出版社,2010.7. * 说明: 本PPT参考了郑莉老师的课件及教材: 郑莉 等. C++语言程序设计(第4版). 清华大学出版社,2010.7. * 说明: 本PPT参考了郑莉老师的课件及教材: 郑莉 等. C++语言程序设计(第4版). 清华大学出版社,2010.7. * 说明: 本PPT参考了郑莉老师的课件及教材: 郑莉 等. C++语言程序设计(第4版). 清华大学出版社,2010.7. * 说明: 本PPT参考了郑莉老师的课件及教材: 郑莉 等. C++语言程序设计(第4版). 清华大学出版社,2010.7. * 说明: 本PPT参考了郑莉老师的课件及教材: 郑莉 等. C++语言程序设计(第4版). 清华大学出版社,2010.7. * 说明: 本PPT参考了郑莉老师的课件及教材: 郑莉 等. C++语言程序设计(第4版). 清华大学出版社,2010.7. * 说明: 本PPT参考了郑莉老师的课件及教材: 郑莉 等. C++语言程序设计(第4版). 清华大学出版社,2010.7. * * 说明: 本PPT参考了郑莉老师的课件及教材: 郑莉 等. C++语言程序设计(第4版). 清华大学出版社,2010.7. * 说明: 本PPT参考了郑莉老师的课件及教材: 郑莉 等. C++语言程序设计(第4版). 清华大学出版社,2010.7. * 说明: 本PPT参考了郑莉老师的课件及教材: 郑莉 等. C++语言程序设计(第4版). 清华大学出版社,2010.7. * 说明: 本PPT参考了郑莉老师的课件及教材: 郑莉 等. C++语言程序设计(第4版). 清华大学出版社,2

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档