C++编程惯用法-高级程序员常用方法和技巧-高清带书签

所需积分/C币:11 2018-04-11 17:33:51 27.35MB PDF
36
收藏 收藏
举报

平台上的很多都不清晰,这个版本是高清并且带书签的。 C++编程惯用法:高级程序员常用方法和技巧,ISBN:9787508319124,作者:(美)Robert B.Murray著;王昕译;王昕译 这本书介绍了C++编程的一些惯用手法、技巧,跟Effective C++是同一类书籍,都是C++编程的进阶书籍。内容上与Effective C++也有很多相通之处,可以看成是Effective系列的有益补充。
深入C+系列 C++Strategies and TactIcs c++编程用法 高纸程序员常用方法和藏巧 [美] Robert B. Murray著 王昕译 Addison Wesle 忄用电力归照社 C++ Strategies and Tactics(ISBNo-201-56382-7) Robert b, murray Authorized translation from the English language edition, entitled C++ Strategies and Tactics, published by Addison Wesley, Copyright@1993 All rights reserved No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical including photocopying, recording or by any information storage retrieval system, without permission from the Publisher CHINESE SIMPLIFIED language edition published by China Electric Power Press Copyright@2003 本书出美国培生集团授权出版。 北京市版权局著作权合同登记号图字;01-20024846号 图书在版编目(CIP)数据 C++编程惯用法一一高级程序员常用方法和技巧/(美)默里著;王昕译 北京:中国电力出版社,2003 ISBN7-5083-1912-5 C.Ⅱ①默.②工….ⅢIC语言-程序设计ⅣTP312 中国版本图书馆CIP数据核字(2003)第1116号 丛书名:深入C++系列 书名:C++编程惯用法——高级程序员常用方法和技巧 编著:(美) Robert b. Murray 翻译:王昕 责任编辑:东维宁 出版发行:中国电力出版社 地址:北京市三里河路6号邮政编码:10004 电话:(010)88515918 传真:(00)88518169 印刷:汇鑫印务有限公司 开本:787×10921/16 张:13.625 字数:297千字 书号:ISBN7-5083-19125 版次:2004年2月北京第]版2004年2月第1次印刷 定价:2600元 版权所有翻印必究 代译者序 It is one of those books that every professional C++ programmer should have read as it is full of good advice based on a wealth of experience.”-—ACCU主鹿 Francis glassborow 是的,上面的评价就是ACCU主席对于你现在手头上的这本书的评价。现在世面上关于 C艹+的书籍种类之多,可谓浩如繁星,但能够得到 Francis glassborow亲自介绍并且给出 “ Highly Recommended”这一最髙推荐度的C++书籍,不过几本而已,而这本就是其中之一。 作为一种支持多种设计范型的通用程序设计语言,C++程序设计语言自身所特有的内涵以 及外延都决非一两出色的书籍所能包含亦或一两年艰苦的学习所能掌握的究其原因就是因为 在使用C+语言的过程中,你会拥有太多的选择。无论是在用C++进行设计或者实现,做出 正确的选择都决非易事。非常多的C++书籍都只是详细地介绍了语言的特性,即使是某些口 碑良好的读本,也同样只是在传教语言本身却忽视了告诉读者如何在使用C+的过程中去做 出正确的选择。而这本书却在这个关键方面有着出色的表现。从这一方面来说,这本书是为那 些严肃的以及真正书写C+代码的程序员准备的。 从本书中,你不会学习到什么是左值,什么是循环,什么是类。因为这本书理想的读者是 那些已经具备了一定C++基础,期望并且正在迈向C+专家之路的程序员。尽管本书的作者 在一开始就已经表明了没有人可以仅仅通过阅读此书而成为专家,但是以我对这本书的观点来 看,作者 Rob murray无疑是在以自己数十年的专家经验为大家铺设一条通往专家的大道,这 也正印证了那句经典—“师傅领进门,修行靠个人"。 那么到底该如何给这本书定位呢?一位使用了C++数十年的专家写成的一本关于如何在 C++中做出正确选择的专家级读本,这就是我心目中给此书的定位。在购买此书之前,你应该 至少阅读过一本关于C+语言的书籍,但无需对C+有很深刻的认识,因为这正是此书想要 达到的目的。如果你曾经阅读过《C+沉思录》,那么这本书的程度和那一本在某种意义上是 一致的,因为它们都不是关于语言介绍的,而都是关于如何使用C++的。并且同样的在书中 遍布了许多关于如何使用C++进行更好编程的真知灼见。 在这里,我还给大家一点阅读方面的建议。本书本身是按照主题来组织的,也就是说一个 章节一般都是独立地说明了C++方面的某一个主题,并且给出了详细的解释以及说明。这样, 阅读本书就并不需要循序而来,你可以一上来就选择你所感兴趣的主题章节进行阅读,不过我 还是建议大家在阅读之前首先好好地熟读第一章。这一章是关于抽象( Abstraction)的,关于 抽象这一主题的说明并不十分常见于一般的编程书籍或者语言介绍书籍中。然而,抽象这个与 编程有着本质联系的概念对于培养良好的程序观有着不可替代的作用。此书中关于抽象概念的 说明虽然不是很深入,却非常直观和易于理解,我想在拥有了一个良好的抽象概念后,再去细 细品味书中所提到的其他关于C++的一切是有好处的。 最后,我还想单独地挑出书中的一章来谈谈我的看法。此书第9章标题非常醒目—重用 ( Reusability,软件工程中的一个核心而又敏感的词汇。在一本C++书籍中,对如此主题进 行论述是否合适?这也是我拿到书稿看过日录后的第一反应因为重用这个话题决不是一两句 话、一两个章节可以说清楚的,如此一来,如果作者没有很好的技术功底以及文字能力,这样 的章节只可能沦落成“食之无味、弃之可惜”的鸡肋。在我个人阅读过的许多书籍中,这种现 象常常见到,以至于现在我会把一本书是否包含了鸡肋章节作为评价一本书好坏的重要标准之 然而,在详细地读过这一章节之后(这是我在阅读这本书的过程中看的第2章,第1章就 是关于抽象的那章。是的,我个人是按照主题来阅读此书的),我想我的疑虑全部都被打消了。 作者 Rob Murray不愧是程序设计领域内的专家人物,可谓深谙重用之道,而其叙述手段更是 精彩,首先从重用的目标以及发现说起,再一步步结合C++语言的实现方式对多个主题进行 了深入浅出的论述,其对软工学中重用的概念以及C+的多个实现主题之间的结合可谓完美。 在和此书译者王昕先生的私下交谈中,译者多次提到这一章也是让他本人最受益的,一个使用 C+已经有八年之久的程序员尚能从中获益,我相信一般读者在深刻理解了本章内容后一定会 有同样的感觉。在我眼里这一章的内容就已经对得起读者对此书的所有投资了。 关于此书作者及译者,书底有很好的介绍,我也就不再着墨了。书没有最好的,只有最适 合自己的,在我说了这么多之后,这木书是否适合你,还是需要你自己做出判断,但再一次看 看 Francis glassborow对此书的另外—条评价也许能让你更快并且正确地做出买与不买的选 择,就像这本书将会告诉你更多关于C+使用上的该与不该一样。 Get a copy, read it and pass it on, Get your own copy if you want to keep ahead of your colleagues.”-ACCU主席 Francis Glassborow 倪硕 于长沙中南大学 序 在专家看来,C++可以帮助软件设计者和程序员构造出模块化、易维护以及高性能的系统。 然而,对新手来说,这门语言的复杂程度是一个不小的威胁。在C++中有着许多不同的语言 特性,只有具有一定经验之后,我们才会知道各种特性的适用情况。 本书的目的就是加速读者的这种学习进程。大部分成功的C++程序员并不会简单地从语 言规则中复述出某些章节或是条款,相反,他们总是习惯于自己以往工作中所获得的行之有效 的那些惯用法和技巧。我们的目的就是帮助那些C+的新手学习到那些在实践中最有效的惯 用法。同时,我们也会在书中指出那些我们经常接触到的C+缺陷。 在本书中,我们的讨论并不试图覆盖整个语言,那些有关语言语义的精确定义可以查看参 考手册。我们主要帮助读者构造出可以被那些不是C++语言专家的人所理解的程序。我们不 但讨论了那些使程序变得优雅及高效的技巧,也展示了如何使它们更容易被理解和维护的方 法 致谢 本书中的想法和编程惯用法几乎都不是我发明的。我的目的就是把它们(在我8年的C++ 使用过程中从其他人那学到的并被我认为是最重要的策略和战术)用一种C++新手也能学会 的方式展现给读者。这些收获中的部分来自于实际的开发项目中(这些项目被我们从C移植 到C艹+上)的经验,另外一些则来自于和其他高手的讨论 关于模板以及函数库设计的许多好的想法(包括那些隐藏在本书所给出的容器类后的想 法)都来自于最初由 Martin carrol、 Andrew Koenig以及 Jonathan Shopiro所设计的UsL标准 组件库中的类。对于在本书中出现的任何错误,则都由我负责。 Andrew Koenig是一个C+ 语言专家,他对我的帮助非常大。另外,那些参与过我所举行过的几期“C+策略与战术”研 讨会的人也帮助启发了我书写本书,并对书中的想法进行提炼。其他的重要的想法来自于Tom Cargill John Carolan、 Jim Coplien、 Mark linton、 Gerald schwarz,当然,还有 Bjarne Stroustrup, 要不是他发明了C++语言,本书也就不可能出现了。 Brian Kernighan阅读过本书的多次草稿,他极好的反馈意见起了很大的帮助作用。同时我 译注:关于USL标准组件的文章参见于199年6月的《C++ Report》中 Martin carroll所写的 K Design of the USL Standard Cocmponents》 还要感谢 David anatone、 Steve burnoff、 om Cargill- Bill Hopkins、 Cay Horstman、 Lorraine juhl、 Peter Juhl、 Stan Lippman、 Dennis Mancl, Scott Meyers、 Barbara moo、 Lorraine weisbrot Murray、 Bjarne Stroustrup、 Clovis Tondo、 Steve vinoski以及 Christopher Van Wyk,他们对本书早期的 草稿提出了意见。此外, Lorraine Weisbrot murray对我的鼓励、理解、支持以及爱使得这一切 努力都成为了可行的 2泽注: Lorraine Weisbrot Murray是 Robert B. Murray的妻子(经 Robert丑 Murray证实) 目录 代译者序 序 第0章简介 ··4.J:t丶aa b自■■看咖 01关于示例代码 02本书的组织…… 0.3问趣… 04语言规则 中中目目qd 第1章抽象… 22346 11有关电话号码的抽象模型…… 12抽象模型间的关系 ■44中甲 13请考虑边界条件 14使用CRC卡片来辅助设计 1.5小结…… 4·甲甲上 16问题 14 第2章类… ■q看■看■ 21构造函数 15 22赋值 23 23公用数据 ■血c ? 24隐式类型转换………… 25操作符重载:成员或非成员 2.6重载、缺省值以及省略符· 2.7 Const 37 28返回值为引用… 中卜4甲 中中卡.日唱l中香吾香 43 29静态对象的构造 210小结 4. 211问题… 第3章句柄 r■■■即■■■■■自p■■罪■■暴■■■■■■■■■■■·ψ玉■■■■av■■ 48 31一个Sng类 32使用计数器来避免多份拷贝 33避免进行重编译: Cheshire ca 4甲p电电“■古中电面自》4●,1甲 34使用句柄来隐藏设计… ●咱山p面■看■■p■血山看b 56 3.5多种实现 57 36作为对象的句柄 3.7综述 61 38小结 中斗pp●p ……61 39问题… 第4章继承 4●■■■↓卩■↓卓■■号4 4]isa关系… 42公有继承… 68 43私有继承……… 68 44保护型继承 45与基类抽象的一致性 46纯虚函数 47有关继承的细节和陷阱 75 48小结 qDe西口即电qp日d●d鲁 49问题 79 第5章多重继承 80 51作为交集的多重继承 80 52虚基类 53一些有关多重继承的细节问题 89 54小结………… 91 55问题 91 第6章考虑继承的设计 日日甘■日b‘·■■“日日日p●面与··■■■■看·音·早··鲁●↓日日.甲日日日日■ 6.l被保护的接口 93 62我们的设计是否应该考虑到继承? …96 63一些为继承所做的设计的例子 100 64结论 105 65小结 l05 66问题 ……106 第7章模板…… ………………………107 71模板类Pair………… 72一些有关模板的细节… l10 73模板的实例化

...展开详情
试读 127P C++编程惯用法-高级程序员常用方法和技巧-高清带书签
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
gjh_a 好资源,可以用
2019-07-22
回复
levine0 04版,非12版
2019-04-04
回复
xiey_xy 是带目录且高清的。
2019-03-16
回复
mahuancyw 我可以死给负分吗??负无穷,拿好,不谢!
2019-02-18
回复
为什么给负分?哪里不对了?
JameBean 还不错的资料
2019-01-02
回复
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
关注 私信
上传资源赚积分or赚钱
    最新推荐
    C++编程惯用法-高级程序员常用方法和技巧-高清带书签 11积分/C币 立即下载
    1/127
    C++编程惯用法-高级程序员常用方法和技巧-高清带书签第1页
    C++编程惯用法-高级程序员常用方法和技巧-高清带书签第2页
    C++编程惯用法-高级程序员常用方法和技巧-高清带书签第3页
    C++编程惯用法-高级程序员常用方法和技巧-高清带书签第4页
    C++编程惯用法-高级程序员常用方法和技巧-高清带书签第5页
    C++编程惯用法-高级程序员常用方法和技巧-高清带书签第6页
    C++编程惯用法-高级程序员常用方法和技巧-高清带书签第7页
    C++编程惯用法-高级程序员常用方法和技巧-高清带书签第8页
    C++编程惯用法-高级程序员常用方法和技巧-高清带书签第9页
    C++编程惯用法-高级程序员常用方法和技巧-高清带书签第10页
    C++编程惯用法-高级程序员常用方法和技巧-高清带书签第11页
    C++编程惯用法-高级程序员常用方法和技巧-高清带书签第12页
    C++编程惯用法-高级程序员常用方法和技巧-高清带书签第13页
    C++编程惯用法-高级程序员常用方法和技巧-高清带书签第14页
    C++编程惯用法-高级程序员常用方法和技巧-高清带书签第15页
    C++编程惯用法-高级程序员常用方法和技巧-高清带书签第16页
    C++编程惯用法-高级程序员常用方法和技巧-高清带书签第17页
    C++编程惯用法-高级程序员常用方法和技巧-高清带书签第18页
    C++编程惯用法-高级程序员常用方法和技巧-高清带书签第19页
    C++编程惯用法-高级程序员常用方法和技巧-高清带书签第20页

    试读结束, 可继续阅读

    11积分/C币 立即下载 >