此前,自己学习C++书看了不少。《C++ Primer Plus》 5th (当时以为是《C++ Primer》)是自己看的第一本C++的书籍,此书看得我头昏眼花的,整个看书的时间就有半年,由于当时过分注重细节,而且图速度,没能很好的实践,也就是一个一知半懂,但是基本上形成了一些影像,能看懂一般的代码了。此后就乱看了一些,都很杂,而且没有系统看,直到半年后拿起《Thinking in C++》上卷在暑假里看完了,他的里面涉及了一些编译工作以及makefile等东西,对于我这种非计算机专业的人来说还是看的蛮有意思的,后来一口气又买了第二卷(“实用技术”),那本书就看得我郁闷了,特别是那个模板部分,后来开学就没咋看了。期间又买了《C++ Primer》4版,看到第八章就没看了。此前的学习基本上就是以面向对象的学习为主,零星看了一些模板啥的。
在今年,买了《Effective C++》3rd,看了之后恍然大悟,难怪有人将C++程序员分为两类,看过《Effective C++》和没有看过的。而且由于前面的学习又忘了差不多了,抱起《Essential C++》看了一遍,Lippman果然是大师,看得比较有意思,而且基本上把C++的树枝都描出来,唯一缺少的是树叶。然后看了《C++ 沉思录》前九章,(后面没看是因为当时想用impl把习题做出来,但是一直没做-_-!),此本也是好书(我看过他的《C trips and traps》,写得很不错)然后把以前没有看的《Thinking in C++》第二卷看了一下,觉得里面的异常部分还是讲得很不错的。然后把他的STL和算法浏览了一下。而且把《Exceptional C++》也浏览了一下。最近在看《Modern C++ Design》,里面的技巧确实amazing.(但是最近要准备研究生入学考试了,估计看不下去了),以后打算买本《C++ Template》来看一下,C++的模板简直就是一门新的语言嘛。我接触到了一些设计模式的东西,打算以后买本Gof的《设计模式》来好好学习一下。
下面把自己看的一些书来点小结吧:
《C++ Primaer Plus》5th ,这本书是一个大砖头,而且字小,里面内容很多,作为基础入门不错,例子很多。但是我不喜欢他把什么小东西都用一个完整的程序来表述,代码看得我痛苦死了(或许是当初基本功还不够吧)。但是这本书对STL和模板基本没有介绍。
《Thinking in C++》第一卷 比较适合有一定C基础的人来看,里面的内容还是一如既往的琐碎,而我很欣赏这本书的一个方面是因为他的头三章,讲的东西很有意思,让你从一定高度看待C++学习。
《Thinking in C++》Vol 2这本书东西并不是很有条理性,并不适合作为参考书籍。而且技术性比较强,他什么都讲,但是深度都不够,所以我现在看这本书的时候有点鸡肋的感觉,作为 STL的参考不及《STL_Programmer_Guide》,模式设计也讲得很浅,而模板部分更是没有条理性,我当时卡在这里卡死我了,如果真想好好学习一下Template建议看《C++ Template》。多线程?我看那是在讲那个库的API还差不多,我又不会去用,看你干嘛,C++多线程也有一本书的,有中文版,叫什么我不记得了。
《Effective C++》,强烈推荐买一本,此书是值得看完一遍再看一遍的书,每次看完收获都不同,而且其中包含的条款在《Exceptional C++》也有提及,所以,买了这本连《Exceptional C++》可以不用买了(尽管,这本书在一场上面写得还是很不错的)。
《C++ 沉思录》,中文本书尽管我只看了前十章,但是感觉很不错,里面将pimpl手法讲得很清楚,如果看了这本就应该不用看他的《Accelarate C++》了。这本书让我学会思考,为什么要这么做,这个技术是解决一个什么问题,我觉得多思考是很不错的。以后有机会再把他看完吧……
《C++ Primer》?这本书就不用做过多评论了,绝对好书,里面内容很全,而且对C++能干什么讲得很清楚(尽管自己没有看完,我是把那本书当参考书用的)。
未来打算看,或者正在看的书《Morden C++ Design》,《设计模式》,《C++ Template》……