日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > c/c++ >内容正文

c/c++

学好C++该看什么书呢?

發(fā)布時(shí)間:2024/1/18 c/c++ 87 豆豆
生活随笔 收集整理的這篇文章主要介紹了 学好C++该看什么书呢? 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
怎么學(xué)習(xí)C++?該先看什么書(shū),后看什么書(shū)?眾說(shuō)紛紜,下面是二篇網(wǎng)上流傳的文章。
C++學(xué)習(xí)之路
(一)語(yǔ)言入門(mén):

《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í)未必是好事。

《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))

《Essential C++》

《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,而是這一本。《The 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++》”。

《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ū)一一浮出水面:

《More Effective C++》

《Exceptional C++》

《More Exceptional C++》。

新書(shū)《Exceptional C++ Style》也是值得一看的好書(shū)。

上述幾本書(shū),一本也不應(yīng)該放過(guò)。

個(gè)人建議上述書(shū)籍按順序閱讀。并且,在將來(lái)反復(fù)閱讀這幾本書(shū)。

(三)進(jìn)階B:

這個(gè)路線側(cè)重于程序庫(kù)。

《The C++ Standard Library》/《C++標(biāo)準(zhǔn)程序庫(kù)—自修教程與參考手冊(cè)》

聽(tīng)說(shuō)過(guò)STL嗎?這本書(shū)會(huì)教你最基本的,也是最重要的STL的使用。這本書(shū),應(yīng)該是必讀的。

《Effective STL》

會(huì)使用STL還不夠,還必須知道什么時(shí)候選擇什么STL組件,這是STL使用的必讀書(shū)。

《Generic Programming and the STL: Using and Extending the C++ Standard Template Library》/《泛型編程與STL》。

這本書(shū)理論性較強(qiáng),但是真的很?chē)?yán)謹(jǐn),而且并不是非常難懂。理解其中對(duì)于Concept的解釋,將是非常重要的。

《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ò)所有的。

《Thinking in C++》/《C++編程思想》

這本書(shū)及其中文版?zhèn)餮院脡亩加?#xff0c;沒(méi)有認(rèn)真看過(guò),不做評(píng)價(jià),如果確有興趣,不妨嘗試一下該書(shū)。

以下幾本書(shū)基本上涉及的都是語(yǔ)言本身,大體上可以按照以下的順序閱讀。

《C++必知必會(huì)》

如果早一年,這本書(shū)將是重量級(jí)的,然而它被101和《Exceptional C++ Style》蓋過(guò)一頭。

《C++ Gotchas: Avoiding Common Problems in Coding and Design》/《C++程序設(shè)計(jì)陷阱》

這又是一本我未曾讀過(guò),而且廣受好評(píng)的書(shū)。

《STL 源碼剖析》

這本書(shū)我剛到手,就被人"借"走,以至于到現(xiàn)在也沒(méi)有看過(guò)。看過(guò)這本書(shū)的朋友,可以給一個(gè)合適的評(píng)價(jià)。

高級(jí):

《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ū),現(xiàn)在好像沒(méi)了。

《Inside The C++ Object Model》/《深度探索C++對(duì)象模型》

C程序員讀后一定會(huì)覺(jué)得C++原來(lái)并不神秘。

《C++ Template》

在閱讀STL、Boost或者Loki的源代碼之前,請(qǐng)仔細(xì)閱讀本書(shū),它可以減輕一些閱讀的煩惱。這本書(shū)是討論C++模版的權(quán)威。

《Modern C++ Design Generic Programming and Design Patterns Applied》/《C++設(shè)計(jì)新思維——泛型編程與設(shè)計(jì)模式之應(yīng)用》

簡(jiǎn)稱(chēng)MCD。在閱讀MCD之前,建議先閱讀一下《C++ Template》。

《對(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)闊視野都是非常重要的。
================================================================
c++書(shū)籍推薦
第一篇

一些同學(xué)問(wèn)我,如何學(xué)好C++,我沒(méi)有別的辦法給你們,唯一的辦法就是讀書(shū),讀大
量的書(shū),就可以解決。要把C++作為日常語(yǔ)言,而不是一種程序語(yǔ)言,這樣就好辦了。

有人又要問(wèn)我,那么我應(yīng)該讀什么書(shū)才好?沒(méi)有時(shí)間怎么辦?

我只能對(duì)你們說(shuō),沒(méi)時(shí)間的話,就別學(xué)C++了,做你們喜歡做的事。生活中沒(méi)有
C++,也同樣美好。

如果你準(zhǔn)備學(xué),一定要學(xué)好,那么我開(kāi)個(gè)書(shū)單,應(yīng)該問(wèn)題不是甚大。

首先肯定要讀一讀Bjarne?Stroustrup的The?Design?and?Evolution?of?C++,了解
一下這個(gè)語(yǔ)言的歷史。接下來(lái)就可以看別的書(shū)了,但要不停地回頭看這本書(shū),看到
你不斷地學(xué)到的新技術(shù)是怎么樣一點(diǎn)點(diǎn)地被接納到這個(gè)語(yǔ)言中去的。

第一本書(shū)因人而異,基礎(chǔ)好一些的,可以看Stanley?B.?Lippman的C++?Primer,這
本書(shū)非常地巨大,你打星號(hào)的部分可以不要看?;A(chǔ)不太好的,可以看Stanley?B.
Lippman的Essential?C++,這本書(shū)份量要輕得多,不過(guò)四個(gè)C++的范型都講了,而
且講得非常清楚。

第二本應(yīng)該停止技術(shù)層面的東西,靜下心來(lái)看看Pike和Kernighan的The?Practice
of?Programming,好好地整理一下,在程序設(shè)計(jì)中應(yīng)該有哪些注意的事項(xiàng)。這本
非常薄的booklet,可以說(shuō)是程序員必讀的指南。

第三本書(shū),就應(yīng)該是Bruce?Eckel寫(xiě)的、候捷譯的Thinking?in?C++,這本書(shū)每過(guò)
半年我就要重讀一遍??梢哉f(shuō)每一章都是寫(xiě)得發(fā)人深省的,這本書(shū)讓我感覺(jué)到了
技術(shù)運(yùn)用的非常高的境界,但是語(yǔ)言非常平實(shí),只要認(rèn)真地讀,即使基礎(chǔ)不行,
也一定可以懂。我在教課的時(shí)候,就是用這本書(shū)(面對(duì)的學(xué)生是零基礎(chǔ))。?

要更上一層的話,就要慢一步,先要把握C++設(shè)計(jì)習(xí)慣的良好。這是Scott
Meyers的Effective?C++和More?Effective?C++帶給我們的無(wú)盡收益。我More
Effective?C++買(mǎi)不起,只好花了10塊錢(qián)復(fù)印裝訂了一本"線裝本",看起來(lái)像葵花
寶典(;-))。這兩本書(shū)是真正的經(jīng)典,作者對(duì)C++的純熟,使得語(yǔ)言的風(fēng)格讀起來(lái)
簡(jiǎn)直是如飴甘甜,就像他站在對(duì)面在講課。我手中有這兩本書(shū)的原版CD,如果有興
趣,可以發(fā)E-mail到sjtu@263.net或在飲水思源投條兒給gaobo索要,只要您提供
光盤(pán)我就給免費(fèi)燒。如果你已經(jīng)深刻地理解了Effective?C++和More?Effective
C++,那你可以發(fā)現(xiàn),你在眾人中已經(jīng)是雞群之鶴??梢灾笇?dǎo)項(xiàng)目運(yùn)作了,可以編
寫(xiě)一切你想做的程序了,可以指出別人看起來(lái)不錯(cuò)的代碼的大小問(wèn)題了。如果你能
一眼看出有人的代碼是對(duì)應(yīng)于"條款27"或"條款M6",那你可真是讓本人刮目了。

我已經(jīng)講了,如果要寫(xiě)程序,EC++和MEC++的境界已經(jīng)足以使你自如應(yīng)付,可是如
果你還不滿(mǎn)足,想關(guān)注一些理論層面的問(wèn)題,或是想看看實(shí)現(xiàn)的代碼,你就不應(yīng)該
錯(cuò)過(guò)這幾本好極了的書(shū)。我是說(shuō)Herb?Sutter的Exceptional?C++和More
Exceptional?C++,這兩本書(shū)的難度是非常大的,我對(duì)每一條的閱讀筆記都是十多
頁(yè)。特別是泛型程序設(shè)計(jì)的部分,這兩本書(shū)旁征博引,極盡深入探討之能事,每每
看懂一條,都抹汗一次,大感酣暢淋漓;還有侯捷的 STL源碼剖析 ,以實(shí)際的
例子一點(diǎn)點(diǎn)地講解一個(gè)STL是怎么樣實(shí)現(xiàn)的,我是剛開(kāi)始讀,不發(fā)表評(píng)論;而
Stanley?B.?Lippman,Cfront的實(shí)現(xiàn)者之一,執(zhí)筆寫(xiě)出Inside?the?C++?Object
Model,我只有一個(gè)字,就是基本帥呆了。我從中了解了無(wú)數(shù)的編譯器解釋源代碼
的細(xì)節(jié),以及記憶體分配的細(xì)節(jié),呵呵,這些都知道了,我還怕什么呢?最近得到
了另一Cfront實(shí)現(xiàn)者、C++標(biāo)準(zhǔn)委員會(huì)Koenig的 C++沉思錄,看起來(lái)非常不錯(cuò),這
里也推薦給大家,但我也沒(méi)看完,亦無(wú)發(fā)言權(quán)。?

最后最后,你們,未來(lái)的C++理論家們,可要記住,Bjarne?Stroustrup的The?C++?
Programming?Language無(wú)論如何也應(yīng)該讀個(gè)四五遍!這是一切C++的書(shū)本的源泉。
如果還覺(jué)得不夠,就向C++標(biāo)準(zhǔn)委員會(huì)訂購(gòu)一本C++標(biāo)準(zhǔn)。?

一切中國(guó)大陸作者的書(shū),一概不要看(包括我的)。一切VC++或講特定的編譯器的
書(shū),一概不要看。如果需要補(bǔ)C語(yǔ)言的課,買(mǎi)一本非常小的K&R的The?C
Programming?Language足矣,其它的書(shū)一概不要看。不要先學(xué)C,再學(xué)C++,而要直
接學(xué)C++。你不是先學(xué)古文,再學(xué)白話的,對(duì)不對(duì)?所以相信我,直接來(lái)更容易。

以上文字,皆為原創(chuàng),本人愿意為每個(gè)字負(fù)責(zé)。

第二篇

好久未來(lái)C板了,原因這段時(shí)間一直在研究?jī)杀緯?shū),看得自己不敢多說(shuō)一句話。

1、《Effective?STL》
訂購(gòu):http://www.cnforyou.com/query/bookdetail.asp?viBookCode=8537
作者:Scott?Meyers
出版社:中國(guó)電力出版社
  一開(kāi)始欺負(fù)這本書(shū)比較薄,想快點(diǎn)看完,但不久就發(fā)現(xiàn)自己已經(jīng)翻不動(dòng)了。直
到看完最后一個(gè)字,才發(fā)現(xiàn)一個(gè)基本的事實(shí):薄的不是這本書(shū),而是自己的見(jiàn)識(shí)。
  有關(guān)STL的書(shū)也讀了不少,正如讀《Effective?C++》以前,有關(guān)C++的書(shū)也讀了
不少。Meyers的書(shū)總是給人一種脫胎換骨的提升感覺(jué),他總能在大家以為老生常談
的地方挖出意想不到的新意,并指出一些一般人習(xí)以為常的東西其實(shí)存在種種危機(jī),
或是在一些看來(lái)完全等價(jià)的選擇中,為特定的場(chǎng)合選擇最有效的(Most
Effective)那一種。而且他的切入口總是讓人看得懂的(不像Stroustrup的書(shū),
第一句話就要琢磨半天),但是他總是會(huì)選擇幾個(gè)拓展點(diǎn),并把它們分析得淋漓盡
致,這時(shí)候就需要一段代碼一段代碼甚至是語(yǔ)句粒度地閱讀了——當(dāng)然,最后總是
看得懂,這和讀者的閱讀程度總是正比,這會(huì)給人極大的成就感。可以說(shuō),在STL
實(shí)踐的書(shū)籍,無(wú)書(shū)可出其右(當(dāng)然在STL實(shí)作方面,我還是要向大家推薦侯捷的
《STL源碼剖析》)。
  讀完這本書(shū)后,和Pascal就產(chǎn)生明顯的距離感了。這里我仍然要說(shuō):請(qǐng)熱愛(ài)
Delphi!我還是更愿意寫(xiě)“var?s:set?of?char;”而不是
“set?<char*,?less<char*>,?allocator<char*>?>?s”,;-)。

2、《Modern?C++?Design》
訂購(gòu)(中文):http://www.cnforyou.com/query/bookdetail.asp?viBookCode=8184
訂購(gòu)(影印):http://www.cnforyou.com/query/bookdetail.asp?viBookCode=8319
作者:Andrei?Alexandrescu
譯者:侯捷、於春景
出版社:華中科技大學(xué)出版社(中文)
    中國(guó)電力出版社(影印)
  讀完這本書(shū)的第一頁(yè),我就知道自己放不下它了,但我也知道,我的苦難經(jīng)歷
又要多上一筆了。用C++實(shí)作設(shè)計(jì)模式,已經(jīng)是骨灰級(jí)的難度,但這本書(shū)明顯還在講
一個(gè)template的對(duì)象模型的問(wèn)題,這在我讀《Inside?the?C++?Object?Model》時(shí)是
屢攻不下的難點(diǎn)。不過(guò),出乎意料的是這本書(shū)居然使我具有一些概念了,而且動(dòng)手寫(xiě)
出了一個(gè)SmartPointer。
  這本書(shū)我還遠(yuǎn)不能說(shuō)我讀懂了,但是確乎是讀完了。如果你還沒(méi)有讀過(guò)對(duì)象模型
和設(shè)計(jì)模式的書(shū),我認(rèn)為需要讀一讀。否則,直接看這本書(shū)根本就是受罪。最近,有
一些朋友也注意到設(shè)計(jì)模式的重要性了,可能從明年起我在《電腦報(bào)》上要發(fā)表一些
文章,屆時(shí)請(qǐng)朋友們指教吧。

另外就是Effective?C++點(diǎn)評(píng)繼續(xù)寫(xiě),我現(xiàn)在覺(jué)得更惶恐,但是信心也更足了。

?

總結(jié)

以上是生活随笔為你收集整理的学好C++该看什么书呢?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。