我爱Aspx >> Asp.Net >> 【C++/OOP】(侯捷著)
【C++/OOP】(侯捷著)
- :未知 Դ:internet :2007-5-5 19:50:21 ؼ:
- 是另一本专家经验谈。作者是 C++ Report 期刊主编,并主持网路上一个名为每周之星(a Guru of the Week,GotW)的 C++ 特别节目。以他的背景和经历,接触的疑难杂症自然是又多又猛。这本书整理了 47 个条款,由於条款名称无法表现某种具体准则,所以我不条列於此。本书主要分为八大项:1. 泛型程式设计与 C++ 标准程式库2. Exception-Safety(异常发生时仍安全)的主题与相关技术3. Class 的设计与继承4. 编译器防火墙(Firewalls)及 Pimpl 惯用手法5. 名称查询、命名空间、介面原则6. 记忆体管理7. 陷阱、易犯错误与有害作法8. 杂项主题Scott Meyers 为此书所写的序,点出了这本书的特质:『从语言的特性到标准程式库内的组件,再到程式编写技术,本书在不同的主题之间跳跃,总是使你稍稍失去平衡,总是使你必须付出全然的注意力。...我把 GotW 发音为 "Gotcha"(意思是「这下可逮到你了」),或许很适当。当我把书中测验的(我的)答案拿来和 Sutter 的答案比较,我掉进他(和 C++)铺设的陷阱中 ─ 虽然我实在不想承认这点。我几乎可以看见 Herb 微笑并温柔地对我所犯的每一个错误说 "Gotcha!"。...当你选择 C++ 做为工具,你必须小心地思考你正在做些什麽。C++ 是一个威力强大的语言,用来协助解决吃力的问题,其重要性使你必须尽可能面对语言本身、程式库、程式惯用手法来磨炼你的知识。』就我的英文程度而言,[Sutter99] 读起来不若 [Meyers96] 和 [Meyers98] 那般平顺,原因是其中用了很多厘语、口语、典故。举个例子,Morphy law 是什麽,大家知道吗?(莫菲定律说:会出错的,一定会出错。)Machiavelli 又代表了什麽意思?(意大利政治家,以诈术闻名。)这类专家经验谈,多半薄而贵,但贵得有价值。好消息是,[Meyers96] 和 [Meyers98] 已经集结为电子书,以光碟呈现,采用 HTML 格式,可使用任何支援 Java(以便进行全文检索)的浏览器阅读。多少钱一片?请上亚马逊瞧瞧。
●层级三:底层机制(C++ Object Model)如果对於迥异传统编程方式的 C++ 特性,诸如 virtual functions、constructors、destructors┅等特异功能一直无法心领神会,可能有必要到内部机制去深度游历一番。不要以为钻到这麽深层的技术,会愈搞愈糊涂,愈搞愈恍忽。很多人,包括我自己,是在游历过底层机制一遍之後,才彻底觉悟并接受了 C++。所谓底层机制主要是指 (1) object 的记忆体布局:data members 分布在哪里?加了 static 又如何?member functions 分布在哪里?加了 virtual 又如何?有了继承又如何?(2) constructors 和 destructors为什麽会自动被唤起?(3) template 模板机制是怎麽回事?(4) this 指标是怎麽回事?(5) runtime type identification(RTTI)是怎麽实作出来的?知道了这些底层机制,你便能够对自己在 C++ 程式中的每一个动作所引发的影响,了如指掌。学习这些底层技术,不是为了自行开发一套编译器,而是为了彻底掌握 C++ 语言;底层技术的学习,只是过程,不是目标。这种情况和《深入浅出 MFC》(侯捷着,松岗 1997)的情况很像,数万名读者不是为了自行开发 framework 而欢喜阅读该书对 MFC 的剖析,是为了彻底掌握自己在撰写 MFC 应用程式时的一言一行。底层机制方面的专论书籍非常稀少。我所仅见的两本,一是 [Ellis90]
Ҷƪл˵?
- һƪ针对 Microsoft Visual Basic 用户的 ASP+ 和 Web 窗体
һƪ阳历到阴历的转换
- 关于我们 | 广告服务 | 网站建设 | 版权申明 | 申请链接 | 联系我们
- Copyright © 2007 5iaspx.COM. All Right Reserved.
- 本站内容仅供学习,研究,探讨,个人收藏,如有侵权,敬请联系我们,我们尽快解决!