wingfiring(別逗了)(非典型禿子) 初稿
steedhorse(晨星) 整理
(一) 語(yǔ)言入門(mén):
v 《C++ Primer》
最新版本:第三版(第四版國(guó)外已上架,國(guó)內(nèi)一些網(wǎng)上書(shū)店也在預(yù)訂中)
適合有豐富C經(jīng)驗(yàn),缺乏C++經(jīng)驗(yàn)的。不過(guò)我個(gè)人一直認(rèn)為此書(shū)帶著過(guò)于強(qiáng)烈的C語(yǔ)言的痕跡,對(duì)于C++的學(xué)習(xí)未必是好事。
v 《The C++ Programming Language》/《C++程序設(shè)計(jì)語(yǔ)言》
最新版本:第三版特別版
簡(jiǎn)稱(chēng)TC++PL,有其他語(yǔ)言的豐富經(jīng)驗(yàn)的。(也有人簡(jiǎn)稱(chēng)之為“TCPL”,但需與另一本《The C Programmer Language》區(qū)分開(kāi)來(lái))
v 《Essential C++》
v 《Accelerated C++》
這兩本薄一些,都是不錯(cuò)的選擇?!禔ccelerated C++》本人沒(méi)有讀過(guò),從各方面的評(píng)價(jià)來(lái)看,完全值得推薦。
以上幾本書(shū)都有相應(yīng)的中文版,而且翻譯的質(zhì)量都不錯(cuò)。上面的書(shū)未必都需要讀一遍,但無(wú)論如何,TC++PL是應(yīng)該閱讀的。
(二)進(jìn)階A:
這個(gè)路線側(cè)重于語(yǔ)言本身
《Effective C++》
最新版本:第二版(第三版國(guó)外已上架,國(guó)內(nèi)一些網(wǎng)上書(shū)店也在預(yù)訂中)
簡(jiǎn)稱(chēng)EC。C++程序員必讀!很多時(shí)候,我們說(shuō)C++圣經(jīng)不是指TC++PL,而是這一本?!禩he Pragmatic
Programmer》一書(shū)中寫(xiě)到:“一旦你發(fā)現(xiàn)自己要參與C++項(xiàng)目的開(kāi)發(fā),趕快跑(不要走)到書(shū)店去購(gòu)買(mǎi)Scott
Mayer的《Effective C++》,可能還要《More Effective C++》”。
v 《C++ Coding Standards: 101 Rules, Guidelines, and Best Practices》/《C++ 編程規(guī)范》
個(gè)人認(rèn)為此書(shū)應(yīng)為C++程序員必備的案頭書(shū)。幾乎Effective系列和Exceptional系列都在這里得到了總結(jié)。最新的模版、異常的業(yè)界經(jīng)驗(yàn)都在這里的到了體現(xiàn)。可能的唯一缺陷就是對(duì)一個(gè)新手而言,關(guān)于“為什么這么做”的問(wèn)題,解釋的不夠。
我的看法是:如果你不理解其中的條款,記憶,并且照做;如果你理解其中的條款,我猜你一定會(huì)同意書(shū)中的觀點(diǎn)。我認(rèn)為這本書(shū)中的內(nèi)容至少在2009年以前都不會(huì)過(guò)時(shí),人們將廣為傳誦它制定的101條戒律。
還不知道他的簡(jiǎn)稱(chēng),也許“101”會(huì)成為一個(gè)候選者?
提到《Effective C++》,那么另外三本書(shū)一一浮出水面:
v 《More Effective C++》
v 《Exceptional C++》
v 《More Exceptional C++》。
新書(shū)《Exceptional C++ Style》也是值得一看的好書(shū)。
上述幾本書(shū),一本也不應(yīng)該放過(guò)。
個(gè)人建議上述書(shū)籍按順序閱讀。并且,在將來(lái)反復(fù)閱讀這幾本書(shū)。
(三)進(jìn)階B:
這個(gè)路線側(cè)重于程序庫(kù)。
v 《The C++ Standard Library》/《C++標(biāo)準(zhǔn)程序庫(kù)—自修教程與參考手冊(cè)》
聽(tīng)說(shuō)過(guò)STL嗎?這本書(shū)會(huì)教你最基本的,也是最重要的STL的使用。這本書(shū),應(yīng)該是必讀的。
v 《Effective STL》
會(huì)使用STL還不夠,還必須知道什么時(shí)候選擇什么STL組件,這是STL使用的必讀書(shū)。
v 《Generic Programming and the STL: Using and Extending the C++ Standard Template Library》/《泛型編程與STL》。
這本書(shū)理論性較強(qiáng),但是真的很?chē)?yán)謹(jǐn),而且并不是非常難懂。理解其中對(duì)于Concept的解釋?zhuān)瑢⑹欠浅V匾摹?
v 《C++ STL》
這不是講述使用程序庫(kù)的,而是講述程序庫(kù)實(shí)現(xiàn)原理的。腸胃不好的,需要慢慢吸收。
這個(gè)路線的書(shū),仍然是建議按順序閱讀。
進(jìn)階A、進(jìn)階B兩個(gè)路線應(yīng)該是可以并行的。
其他進(jìn)階參考書(shū)
提出這些參考書(shū),只是避免爭(zhēng)議,也為開(kāi)闊視野,筆者并不曾完全讀過(guò)所有的。
v 《Thinking in C++》/《C++編程思想》
這本書(shū)及其中文版?zhèn)餮院脡亩加?,沒(méi)有認(rèn)真看過(guò),不做評(píng)價(jià),如果確有興趣,不妨嘗試一下該書(shū)。
以下幾本書(shū)基本上涉及的都是語(yǔ)言本身,大體上可以按照以下的順序閱讀。
v 《C++必知必會(huì)》
如果早一年,這本書(shū)將是重量級(jí)的,然而它被101和《Exceptional C++ Style》蓋過(guò)一頭。
v 《C++ Gotchas: Avoiding Common Problems in Coding and Design》/《C++程序設(shè)計(jì)陷阱》
這又是一本我未曾讀過(guò),而且廣受好評(píng)的書(shū)。
v 《STL 源碼剖析》
這本書(shū)我剛到手,就被人"借"走,以至于到現(xiàn)在也沒(méi)有看過(guò)??催^(guò)這本書(shū)的朋友,可以給一個(gè)合適的評(píng)價(jià)。
高級(jí):
v 《The Design and Evolution of C++》/《C++語(yǔ)言的設(shè)計(jì)和演化》
簡(jiǎn)稱(chēng)D&E,內(nèi)容并不艱深,Bjarne的書(shū),僅此,就值得一讀。
前段時(shí)間,互動(dòng)網(wǎng)曾8塊一本(人民幣)賤賣(mài)此書(shū),后來(lái)似乎一剎那被搶光了。。。
v 《Inside The C++ Object Model》/《深度探索C++對(duì)象模型》
C程序員讀后一定會(huì)覺(jué)得C++原來(lái)并不神秘。
v 《C++ Template》
在閱讀STL、Boost或者Loki的源代碼之前,請(qǐng)仔細(xì)閱讀本書(shū),它可以減輕一些閱讀的煩惱。這本書(shū)是討論C++模版的權(quán)威。
v 《Modern C++ Design Generic Programming and Design Patterns Applied》/《C++設(shè)計(jì)新思維——泛型編程與設(shè)計(jì)模式之應(yīng)用》
簡(jiǎn)稱(chēng)MCD。在閱讀MCD之前,建議先閱讀一下《C++ Template》。
v 《對(duì)象揭秘:Java、Eiffel和C++》
你對(duì)C++不滿(mǎn)嗎?這本書(shū)可以部分地幫你完成抱怨的目標(biāo)。也許它還可以讓你不迷信C++。
最后,一份C++標(biāo)準(zhǔn)文檔也是應(yīng)該加以咀嚼的。
還有一些書(shū)籍,并不能簡(jiǎn)單的歸于C++,也難以在純粹的書(shū)本學(xué)習(xí)中加以掌握?!禗esign Patterns》/《設(shè)計(jì)模式》一書(shū)就歸于此類(lèi)。
所有上述的書(shū)籍,要么談?wù)揅++語(yǔ)言本身,要么談?wù)揝TL的,要么兼而有之(當(dāng)然嚴(yán)格講STL也是C++語(yǔ)言非常重要的一部分)。偶爾,某些書(shū)
中條目也會(huì)涉及實(shí)際工程。這些書(shū)并不是C++軟件開(kāi)發(fā)的全部,但是他們很重要。閱讀這些書(shū),未必需要化費(fèi)太多的精力,有時(shí)候是會(huì)困難,但也有時(shí)候會(huì)很快
速。
最后,編程語(yǔ)言并非計(jì)算機(jī)科學(xué)技術(shù)的全部,尤其對(duì)于在校的學(xué)生來(lái)說(shuō),打好基礎(chǔ)、開(kāi)闊視野都是非常重要的。
|
|
來(lái)自: WUCANADA > 《c plus plus》