- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C资源管理
C++资源管理/Program/cp/201305/135536.shtmlC++的复杂是一个基本事实,这也成了很多人对C++横加指责的原因。事实上,正如陈皓在“C++的数组不支持多态”?这篇文章中提到的,很多人在并不真正了解C++的情况下,就喜欢得出这样的结论。更有甚者,把C语言本身的“坑”也归结为C++的问题。这样的人着实不少,C++11作为最具争议的语言之一,每一次讨论到涉及语言选择的时候,都会引起一场“血战”,但结果往往不了了之,喜欢C++的继续坚守C++阵营,讨厌C++的把精力留到下次黑C++的时候。对于客观公正批评C++的,我内心尊敬佩服;而对于还没搞清楚C++就信口开河的,我表示鄙视。任何一门语言都有自己的历史背景和定位,C++被/cpro/ui/uijs.php?rs=1u=http%3A%2F%2Fwww%2Eth7%2Ecn%2FProgram%2Fcp%2F201305%2F135536%2Eshtmlp=baiduc=newsn=10t=tpclicked3_hcq=smileking_cprk=%C9%E8%BC%C6k0=%C9%E8%BC%C6k1=%B1%E0%D2%EB%C6%F7k2=javaeek3=%C3%E6%CF%F2%B6%D4%CF%F3k4=jvmk5=cppsid=48b73d236d1a2491ch=0tu=u1682280jk=47c7ea1a0dbf28a4cf=29fv=14stid=9urlid=0luki=5seller_id=1di=128设计成这样,从历史上来看,是为了兼容C,使得C程序可以不用修改就可以继续使用;从定位上看,就是三大约束:与C的完全兼容、静态类型检查、最高性能。我真心的希望,如果有人不喜欢C++,在搞懂它之后再黑,免得误人子弟。每次写C++的优点之前,都想好好发泄一下,好了,言归正传。这篇文章想探讨下C++中的资源管理,谈到资源管理,就不得不谈异常安全,正是因为有了异常,才使得资源管理变得更加重要。C++11提供了一套非常好的/cpro/ui/uijs.php?rs=1u=http%3A%2F%2Fwww%2Eth7%2Ecn%2FProgram%2Fcp%2F201305%2F135536%2Eshtmlp=baiduc=newsn=10t=tpclicked3_hcq=smileking_cprk=%B1%E0%B3%CCk0=%B1%E0%B3%CCk1=%C9%E8%BC%C6k2=%B1%E0%D2%EB%C6%F7k3=javaeek4=%C3%E6%CF%F2%B6%D4%CF%F3k5=jvmsid=48b73d236d1a2491ch=0tu=u1682280jk=47c7ea1a0dbf28a4cf=29fv=14stid=9urlid=0luki=4seller_id=1di=128编程Idom来处理这个问题,C++11的新特性使得这些Idom变得更加易用。计算机中的资源是个非常广泛的概念,内存、锁、文件、Socket等等都是资源,C++中可以通过统一的方式管理这些资源,即RAII(参见The C++ Programming Lauguage, Special Edition, p364, 14.4节)。其基本思路非常简单,用类来封装资源,在类的构造函数中获取资源,在类的析构函数中释放资源。使用的时候,把这个类在栈上面实例化出一个对象,当这个对象超出作用域时,这个对象的析构函数会被调用,从而释放资源。正是这个简单的方式,构成了C++资源管理的基础,并且这样的方式是异常安全的,因为:1、如果在对象构造之前发生异常,则资源还没申请,不会有问题;2、如果在类的构造函数中发生异常,C++编译器保证资源不会发生资源泄漏(参见Exceptional C++, p26, Item8);3、在对象构造好之后发生了异常,stack unwinding(参见The C++ Programming Lauguage, Special Edition, p355, 14.1节)的过程中,C++标准要求/cpro/ui/uijs.php?rs=1u=http%3A%2F%2Fwww%2Eth7%2Ecn%2FProgram%2Fcp%2F201305%2F135536%2Eshtmlp=baiduc=newsn=10t=tpclicked3_hcq=smileking_cprk=%B1%E0%D2%EB%C6%F7k0=%B1%E0%D2%EB%C6%F7k1=javaeek2=%C3%E6%CF%F2%B6%D4%CF%F3k3=jvmk4=cppk5=c%2B%2Bsid=48b73d236d1a2491ch=0tu=u1682280jk=4
您可能关注的文档
- 09杭高保送生试卷.doc
- 西电专业英语.docx
- cisco设备出现的问题.doc
- 分布式系统课程报告.doc
- 金融保险公司简介 英文版.doc
- 2015年9月10日前交-职业生涯规划书和职业测评报告要求.doc
- 中国融资体系和担保体系政策分析.doc
- LTE随机接入问题研究.docx
- STP_生成树协议配置.doc
- 10.ESQL/C中单记录的检索和查询.doc
- 中国科健股份有限公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版1套.docx
- 中国第一汽车集团哈尔滨轻型车厂校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版推.docx
- 2025年中国一次性座便垫纸市场调查研究报告.docx
- 中国神马集团校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版推荐.docx
- 精选专利代理人资格考试模拟试题及答案.docx
- 24探究物质组成的奥秘第1课时教案浙教版科学七年级下册.docx
- 公共基础知识单项选择题附答案.docx
- 中国第一拖拉机工程机械集团校园招聘模拟试题附带答案详解带答案.docx
- 精选专利考试试题与答案分享.docx
- 2025年中国不干胶标签打印纸市场调查研究报告.docx
文档评论(0)