所谓重读,当然是因为以前读过。
记得上次读它时,对C++理解基本是,一种加了class 的新的C语言。
呵呵,当时读此书是想学语法:先是没明白前言作者都在讲啥,
有啥用。然后开始跳到语法学习,却发现所举的例子看不懂,看不懂
咋办,跳呗,很快跳着翻完了本书,
然后一边怀疑着自已的智商,一边骂着译者,
看钱能的那本C++去了。
这次重读,感觉总算是看明白了一些东东,
首先:书名叫C++编程思想,算是明白了,它压根就不是讲语法为主的书。
本书C++语法讲解大都立足于结合实际应用中的设计问题。作者
强调C++是用来设计应用的,而不是过程设计中简单累加的算法实现
语言。(C++ STL中有用的容器及算法,本书只是一带而过,更多的描述
是讲我们应该如何建立自已的容器,容器如何解决实际现实中的问题)。
我想,如果要看语法,还是钱能,然后C++ Primer比较合适。
至于C++的标准库的学习当然应首选C++标准程序库。
同时:它也不是一本纯讲软件工程(设计技术)的书。
它并没有成体系的讲解面向对象设计,而是更多的在顺着C++语法
这条主线,根据作者的实践经验,讲解作者对C++特性的理解和在设计中
的应用,所有讲到的设计方法并没有区分主次,也没有一条主线或归纳什么。
个人感觉Java更能体现纯面向对象,所以看看Java面向对象一书可能更
能理解面向对象的设计思想。
三:本书的例子都非常经典,
如果仔细去推敲,会发现一些例子包含经典设计模式,而有些就是一
些我们熟知的C++类库的关键实现技术的缩写。这也体现了C++语言的强大
吧。
四:书后的附录B的编程准则很有值得仔细看看
如果想看看自已对本书的理解程度如何,看看附录B。一条一条的去想其
中的原因,所有答案都在书中。
我记得以前在看人家写的代码时,总是不理解为什么这么写,并且很多人
都这样写,语法书上从来没讲过,这样写的好处。这本书里有答案。
更多,更明确的原则,可看看Effective C++和Move EffectiveC++两书,
五:C++语言一些更底层的东西本书没讲
在深度探索C++对象模型一书中有提及,比如多重继承的复杂性,拷贝构造的编
译器生成原则等。。光看这本书,有几个地方会不太能理解。
翻译水平。
还可以吧,当然,译者的C++水准可能不是很高,有些语句不通的,或有些曲解,
但如果你对C++和面向对象有一定理解,可以通过上下文,多读几遍,理解原作者
的意图。
收获:
一些编码习惯上的编程原则,以前没注意的,这次可以记住了。
对C++有了一些更深的认识,具体一句两句说不清。
2004-11-29