深度剖析C++軟件編程技巧說明
這些書并不是C++軟件開發(fā)的全部,但是他們很重要。閱讀這些書,未必需要化費太多的精力,有時候是會困難,但也有時候會很快速,下面進行詳細說明C++軟件使用及其維護工作。
《C++ Primer》
***版本:第5版
適合有豐富C經(jīng)驗,缺乏C++經(jīng)驗的。不過我個人一直認為此書帶著過于強烈的C語言的痕跡,對于C++的學習未必是好事。
《The C++ Programming Language》《C++程序設(shè)計語言》
***版本:第3版特別版
簡稱TC++PL,有其他語言的豐富經(jīng)驗的。(也有人簡稱之為“TCPL”,但需與另一本《The C Programmer Language》區(qū)分開來)
《Essential C++》
《Accelerated C++》
這兩本薄一些,都是不錯的選擇。《Accelerated C++》本人沒有讀過,從各方面的評價來看,完全值得推薦。
以上幾本書都有相應(yīng)的中文版,而且翻譯的質(zhì)量都不錯。上面的書未必都需要讀一遍,但無論如何,TC++PL是應(yīng)該閱讀的。
(二)進階A:
這個路線側(cè)重于語言本身
《Effective C++》
***版本:第2版(第三版國外已上架,國內(nèi)一些網(wǎng)上書店也在預訂中)
簡稱EC。C++程序員必讀!很多時候,我們說C++圣經(jīng)不是指TC++PL,而是這一本?!禩he Pragmatic Programmer》一書中寫到:“一旦你發(fā)現(xiàn)自己要參與C++項目的開發(fā),趕快跑(不要走)到書店去購買Scott Mayer的《Effective C++》,可能還要《More Effective C++》”。#t#
《C++ Coding Standards: 101 Rules, Guidelines, and Best Practices》《C++ 編程規(guī)范》
個人認為此書應(yīng)為C++程序員必備的案頭書。幾乎Effective系列和Exceptional系列都在這里得到了總結(jié)。***的模版、異常的業(yè)界經(jīng)驗都在這里的到了體現(xiàn)??赡艿奈ㄒ蝗毕菥褪菍σ粋€新手而言,關(guān)于“為什么這么做”的問題,解釋的不夠。我的看法是:如果你不理解其中的條款,記憶,并且照做;如果你理解其中的條款,我猜你一定會同意書中的觀點。我認為這本書中的內(nèi)容至少在2009年以前都不會過時,人們將廣為傳誦它制定的101條戒律。還不知道他的簡稱,也許“101”會成為一個候選者?
提到《Effective C++》,那么另外三本書一一浮出水面:
《More Effective C++》
《Exceptional C++》
《More Exceptional C++》。
新書《Exceptional C++ Style》也是值得一看的好書。
上述幾本書,一本也不應(yīng)該放過。
個人建議上述書籍按順序閱讀。并且,在將來反復閱讀這幾本書。
(三)進階B:
這個路線側(cè)重于程序庫。
《The C++ Standard Library》《C++標準程序庫—自修教程與參考手冊》
聽說過STL嗎?這本書會教你最基本的,也是最重要的STL的使用。這本書,應(yīng)該是必讀的。
《Effective STL》
會使用STL還不夠,還必須知道什么時候選擇什么STL組件,這是STL使用的必讀書。
《Generic Programming and the STL: Using and Extending the C++ Standard Template Library》《泛型編程與STL》。
這本書理論性較強,但是真的很嚴謹,而且并不是非常難懂。理解其中對于Concept的解釋,將是非常重要的。
《C++ STL》
這不是講述使用程序庫的,而是講述程序庫實現(xiàn)原理的。腸胃不好的,需要慢慢吸收。
這個路線的書,仍然是建議按順序閱讀。
進階A、進階B兩個路線應(yīng)該是可以并行的。
其他進階參考書
提出這些參考書,只是避免爭議,也為開闊視野,筆者并不曾完全讀過所有的。
這本書及其中文版?zhèn)餮院脡亩加校瑳]有認真看過,不做評價,如果確有興趣,不妨嘗試一下該書。
以下幾本書基本上涉及的都是語言本身,大體上可以按照以下的順序閱讀。
《C++必知必會》
如果早一年,這本書將是重量級的,然而它被101和《Exceptional C++ Style》蓋過一頭。
《C++ Gotchas: Avoiding Common Problems in Coding and Design》/《C++程序設(shè)計陷阱》
這又是一本我未曾讀過,而且廣受好評的書。
《STL 源碼剖析》
這本書我剛到手,就被人"借"走,以至于到現(xiàn)在也沒有看過??催^這本書的朋友,可以給一個合適的評價。
高級:
《The Design and Evolution of C++》《C++語方的設(shè)計和演化》
簡稱D&E,內(nèi)容并不艱深,Bjarne的書,僅此,就值得一讀。
前段時間,互動網(wǎng)曾8塊一本(人民幣)賤賣此書,現(xiàn)在好像沒了。
《Inside The C++ Object Model》《深度探索C++對象模型》
C程序員讀后一定會覺得C++原來并不神秘。
《C++ Template》
在閱讀STL、Boost或者Loki的源代碼之前,請仔細閱讀本書,它可以減輕一些閱讀的煩惱。這本書是討論C++模版的權(quán)威。
《Modern C++ Design Generic Programming and Design Patterns Applied》《C++設(shè)計新思維——泛型編程與設(shè)計模式之應(yīng)用》
簡稱MCD。在閱讀MCD之前,建議先閱讀一下《C++ Template》。