本站首页    管理页面    写新日志    退出


«December 2025»
123456
78910111213
14151617181920
21222324252627
28293031


公告
 注意这一点:其实我不是ppmm

我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:^_^
日志总数:93
评论数量:316
留言数量:8
访问次数:616874
建立时间:2005年5月12日




[电脑知识]c++书籍推荐 
电脑与网络

vain 发表于 2005/5/17 20:43:53

发信人: lingjie (owl), 信区: C_Prog标  题: c++书籍推荐发信站: 两全其美 BBS (Sun Oct 10 20:59:19 2004), 本站(lqqm.net) 本文乃本版版大gaobo所作。总体思想非常不错,可供参考~~~~~~~~~~~~~~~~~~~~~~~~~~第一篇 一些同学问我,如何学好C++,我没有别的办法给你们,唯一的办法就是读书,读大量的书,就可以解决。要把C++作为日常语言,而不是一种程序语言,这样就好办了。 有人又要问我,那么我应该读什么书才好?没有时间怎么办? 我只能对你们说,没时间的话,就别学C++了,做你们喜欢做的事。生活中没有C++,也同样美好。 如果你准备学,一定要学好,那么我开个书单,应该问题不是甚大。 首先肯定要读一读Bjarne Stroustrup的The Design and Evolution of C++,了解一下这个语言的历史。接下来就可以看别的书了,但要不停地回头看这本书,看到你不断地学到的新技术是怎么样一点点地被接纳到这个语言中去的。 第一本书因人而异,基础好一些的,可以看Stanley B. Lippman的C++ Primer,这本书非常地巨大,你打星号的部分可以不要看。基础不太好的,可以看Stanley B.Lippman的Essential C++,这本书份量要轻得多,不过四个C++的范型都讲了,而且讲得非常清楚。 第二本应该停止技术层面的东西,静下心来看看Pike和Kernighan的The Practiceof Programming,好好地整理一下,在程序设计中应该有哪些注意的事项。这本非常薄的booklet,可以说是程序员必读的指南。 第三本书,就应该是Bruce Eckel写的、候捷译的Thinking in C++,这本书每过半年我就要重读一遍。可以说每一章都是写得发人深省的,这本书让我感觉到了技术运用的非常高的境界,但是语言非常平实,只要认真地读,即使基础不行,也一定可以懂。我在教课的时候,就是用这本书(面对的学生是零基础)。 要更上一层的话,就要慢一步,先要把握C++设计习惯的良好。这是ScottMeyers的Effective C++和More Effective C++带给我们的无尽收益。我MoreEffective C++买不起,只好花了10块钱复印装订了一本"线装本",看起来像葵花宝典(;-))。这两本书是真正的经典,作者对C++的纯熟,使得语言的风格读起来简直是如饴甘甜,就像他站在对面在讲课。我手中有这两本书的原版CD,如果有兴趣,可以发E-mail到sjtu@263.net或在饮水思源投条儿给gaobo索要,只要您提供光盘我就给免费烧。如果你已经深刻地理解了Effective C++和More EffectiveC++,那你可以发现,你在众人中已经是鸡群之鹤。可以指导项目运作了,可以编写一切你想做的程序了,可以指出别人看起来不错的代码的大小问题了。如果你能一眼看出有人的代码是对应于"条款27"或"条款M6",那你可真是让本人刮目了。 我已经讲了,如果要写程序,EC++和MEC++的境界已经足以使你自如应付,可是如果你还不满足,想关注一些理论层面的问题,或是想看看实现的代码,你就不应该错过这几本好极了的书。我是说Herb Sutter的Exceptional C++和MoreExceptional C++,这两本书的难度是非常大的,我对每一条的阅读笔记都是十多页。特别是泛型程序设计的部分,这两本书旁征博引,极尽深入探讨之能事,每每看懂一条,都抹汗一次,大感酣畅淋漓;还有侯捷的 STL源码剖析 ,以实际的例子一点点地讲解一个STL是怎么样实现的,我是刚开始读,不发表评论;而Stanley B. Lippman,Cfront的实现者之一,执笔写出Inside the C++ ObjectModel,我只有一个字,就是基本帅呆了。我从中了解了无数的编译器解释源代码的细节,以及记忆体分配的细节,呵呵,这些都知道了,我还怕什么呢?最近得到了另一Cfront实现者、C++标准委员会Koenig的 C++沉思录,看起来非常不错,这里也推荐给大家,但我也没看完,亦无发言权。 最后最后,你们,未来的C++理论家们,可要记住,Bjarne Stroustrup的The C++Programming Language无论如何也应该读个四五遍!这是一切C++的书本的源泉。如果还觉得不够,就向C++标准委员会订购一本C++标准。 一切中国大陆作者的书,一概不要看(包括我的)。一切VC++或讲特定的编译器的书,一概不要看。如果需要补C语言的课,买一本非常小的K&R的The CProgramming Language足矣,其它的书一概不要看。不要先学C,再学C++,而要直接学C++。你不是先学古文,再学白话的,对不对?所以相信我,直接来更容易。 以上文字,皆为原创,本人愿意为每个字负责。 第二篇 好久未来C板了,原因这段时间一直在研究两本书,看得自己不敢多说一句话。 1、《Effective STL》订购:http://www.cnforyou.com/query/bookdetail.asp?viBookCode=8537作者:Scott Meyers出版社:中国电力出版社  一开始欺负这本书比较薄,想快点看完,但不久就发现自己已经翻不动了。直到看完最后一个字,才发现一个基本的事实:薄的不是这本书,而是自己的见识。  有关STL的书也读了不少,正如读《Effective C++》以前,有关C++的书也读了不少。Meyers的书总是给人一种脱胎换骨的提升感觉,他总能在大家以为老生常谈的地方挖出意想不到的新意,并指出一些一般人习以为常的东西其实存在种种危机,或是在一些看来完全等价的选择中,为特定的场合选择最有效的(MostEffective)那一种。而且他的切入口总是让人看得懂的(不像Stroustrup的书,第一句话就要琢磨半天),但是他总是会选择几个拓展点,并把它们分析得淋漓尽致,这时候就需要一段代码一段代码甚至是语句粒度地阅读了——当然,最后总是看得懂,这和读者的阅读程度总是正比,这会给人极大的成就感。可以说,在STL实践的书籍,无书可出其右(当然在STL实作方面,我还是要向大家推荐侯捷的《STL源码剖析》)。  读完这本书后,和Pascal就产生明显的距离感了。这里我仍然要说:请热爱Delphi!我还是更愿意写“var s:set of char;”而不是“set <char*, less<char*>, allocator<char*> > s”,;-)。 2、《Modern C++ Design》订购(中文):http://www.cnforyou.com/query/bookdetail.asp?viBookCode=8184订购(影印):http://www.cnforyou.com/query/bookdetail.asp?viBookCode=8319作者:Andrei Alexandrescu译者:侯捷、於春景出版社:华中科技大学出版社(中文)    中国电力出版社(影印)  读完这本书的第一页,我就知道自己放不下它了,但我也知道,我的苦难经历又要多上一笔了。用C++实作设计模式,已经是骨灰级的难度,但这本书明显还在讲一个template的对象模型的问题,这在我读《Inside the C++ Object Model》时是屡攻不下的难点。不过,出乎意料的是这本书居然使我具有一些概念了,而且动手写出了一个SmartPointer。  这本书我还远不能说我读懂了,但是确乎是读完了。如果你还没有读过对象模型和设计模式的书,我认为需要读一读。否则,直接看这本书根本就是受罪。最近,有一些朋友也注意到设计模式的重要性了,可能从明年起我在《电脑报》上要发表一些文章,届时请朋友们指教吧。 另外就是Effective C++点评继续写,我现在觉得更惶恐,但是信心也更足了。-- --※ 来源:.两全其美 BBS lqqm.net.[FROM: 220.184.20.253]


阅读全文(30381) | 回复(12) | 编辑 | 精华
 


回复:c++书籍推荐
电脑与网络

林(游客|218.18.228.120)发表评论于2005/7/30 21:41:32

学习 奇迹私服奇迹私服 翻译公司翻译公司 北京翻译公司北京翻译公司 上海翻译公司上海翻译公司 温控器温控器 门禁系统门禁系统 门禁系统监控系统门禁系统监控系统 售饭系统售饭系统 监控系统监控系统 embroidery digitizingembroidery digitizing embroidery digitizingembroidery digitizing embroidery digitizingembroidery digitizing 翻译公司翻译公司 奇迹私服奇迹私服 门禁监控系统门禁监控系统 翻译翻译 翻译公司翻译公司 租房租房 北京租房北京租房 机票机票 打折机票打折机票


个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:c++书籍推荐
电脑与网络

fatalerror99(游客)发表评论于2005/7/16 9:54:18

<P>总的说来不错,补充几点:</P> <P>1. Thinking in C++ 确实是 Bruce Eckel 写的,但不是候捷译的。</P> <P>2. 最近(大概就是今年吧)新出了几本相当不错的 C++ 书籍,比如:</P> <P>Effective C++, 3rd Edition</P> <P>Exceptional C++ Style</P> <P>C++ Primer, 4th Edition</P> <P>C++ Common Knowledge: Essential Intermediate Programming</P> <P>C++ Coding Standards: 101 Rules, Guidelines, and Best Practices</P> <P>C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond</P> <P>等等,就不在这里一一列举了。</P> <P>3. The C++ Standard Library: A Tutorial and Reference 和 C++ Templates: The Complete Guide 非常不错,看 Modern C++ Design 之前,看看这两本书,应该有一些帮助。</P> <P>4. 我也极不推荐大陆人写的 C++ 书籍,看了不如不看。</P> <P>5. 借宝地做个广告,鄙人目前在翻译 Effective C++, 3rd Edition,全文在 CSDN 发布,欢迎光临。地址:<A href="http://blog.csdn.net/fatalerror99">http://blog.csdn.net/fatalerror99</A>。译得不好不要骂我哦。<BR></P>

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:c++书籍推荐
电脑与网络

白雪公主他爹(游客)发表评论于2005/7/15 20:42:42

我不知道这么好的书到那里才能卖的到? 有谁知道告诉我好吗? 谢谢~~~~~~~~``

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:c++书籍推荐
电脑与网络

err(游客)发表评论于2005/7/2 10:22:30

<P>没有回复?</P> <P>我来,以为“不要先学C,再学C++,而要直<BR>接学C++。你不是先学古文,再学白话的,对不对?所以相信我,直接来更容易” 这句话不太对呀!</P> <P>BS 大师也是怎么说,但是我以为,如果是做框架师,或是做老师,或是你只是想和客户晕聊UML,那你可以如上面说从C++ 开始学就可以了,但从学习路线和将来想做一个真正的coder 来讲(BS 大师就以这样的coder为荣),你必须学习从 C 开始,尤其你有其他语言的(basic,dephi)或是从 javascript 明白编程的小朋友们,原因都是因为做coder和上面的都不同,我后面时间允许可以再详述。。。</P> <P>我先说说 c 从哪里入门起步:</P> <P>K&amp;R 的那本 C 我觉得太干,可以做为学习框架,你可以从网上下到n多的 C tutorial ,许多更加平和些,简单些,只要你看的懂,能够用,就好。 比如你看到 关于指针数组 不太明白 那到网上去找个相关的 tutorial 看。。。(本人的多年体会呀!)</P> <P>而后多做 console 小程序,测试也好,玩也好,总之多多的写或粘贴些个小东东。</P> <P>你会发现稍微有些功能的东东,都要用到许多通用的库,或是asm 内嵌,这是你需要找老师的时候,没有老师懂吗?他们都忙着用 快速开发工具去赚钱去了吗? 啊,那我荐一本书(上面没有列出)中文名称是 “c 和指针”,之后你可以和那些上了年纪的一起工作了。。。 可以偷他们的师,可以读懂Linux 辕马,可以环境无关写你的梦想。。。</P> <P>直到有一天,你心中的上帝对你说,咳,小子(女)! 你的代码需要大量的comments,你的代码太多了,你的代码虽然写的很规范,可是每次要增加灵活的新功能,都要加入大量的函数和全局变量,这样下去怎么行?</P> <P>你对自己说,我要管理我的代码(甚至是偷来的代码)!</P> <P>那么你可以看“c++ 沉思录”了,看了后你哭了,。。。犹如醍醐灌顶,一夜之间你打通了你的任督二脉。</P> <P>这时你可以疯狂的的 翻看 c++ primer, BS 大师的书,看effective , more effective, 。。。</P> <P>看后,你会发现你可以管理你的代码了,并且在一周之后你突然发现,你花160块大洋买的 windows programming 可以看明白,什么,你一开始就在窗口里写代码了?厉害!(直接学 c++ 的老师们要学懂这本书门都没有呀!)并且你可以用类来管理 这些 windows api (for c) 了,所有的嘈杂都恢复平静,朗朗大地真干净。。。</P> <P>你说,你没有谈,类的继承 类的组合,啊,那些个东西,首先他们都是用来,你自己管理代码的东西,这里不得不提 超越并升华&nbsp;了的一个词:接口</P> <P>英文 叫 interface 这个词在如今主流编程中无处不在。你悟透了这个词,你就掌握了C++ 的本质,他是 C++ 江湖的屠龙刨刀,类的继承技术,组合技术,和 constructor,destructor,asignment,rtti....Oh ,shit</P> <P>都是小菜了, 都是为了你安全高效的管理你接口,coder 都比较懒,怎么样只写一遍,就可以歇,这是你经常要考虑的问题。。。</P> <P>接口是个好东东呀!</P> <P>没有谈到那个摸板库? 那个东东,是用来管理你编译时的代码的代码,你不用太关心,会用就可以了,当作你寸数据的容器。。。他相关操作容器的泛算法拿来用就是了。。。</P> <P>要做真正的 coder ,从 c 开始吧!</P> <P>&nbsp;</P>

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


» 1 2 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.082 second(s), page refreshed 144803992 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号