作者khoguan (Khoguan Phuann)
看板C_and_CPP
標題Re: [心得] C++ 經典書籍
時間Sun Aug 7 15:13:59 2005
※ 引述《gocpp (cpp)》之銘言:
哇,真是太震撼了!
請容我針對其中幾本狗尾續貂幾句(現在用撥接,不能打太多字)
: 《Effective C++》
: 這本書也是經典的經典,我推薦所有學過 C++,但自覺對 C++ 一知
: 半解的人,從這本書開始「重新入門」。
: 它把 C++ 程序員最常犯的一些錯誤,不好的用法,忽略的重要細節,
: 用 50 個條款,分門別類地一一列出。雖然這些內容,在 C++ Primer
: 或其他大部頭的經典著作,都不是沒有寫到。但大概很難有人有耐心
: 從頭到尾看完。(我猜作者自己也看不下去…)
: 這本書的好處就是,一次一個主題,把為什麼要這樣,來龍去脈,各
: 種其他舊方法的缺點,不足之處,一一分析出來。讓讀者確確實實了
: 解並掌握優良的 C++ 編程風格的技術關鍵。
Effective C++ 英文版第三版剛出,建議要看就看最新的。
我以前是去圖書館借第二版英文版來看,它的內容,部份已經過時了,
到原作者 Scott Meyers 的網站看 errata 就知道其中的問題很多。
Meyers 寫文章喜歡賣弄,會有一些生字,但因為書不厚,所以也還好 :-)
: 《Exceptional C++》
: 我第一次看這本書時,幾乎懷疑我是否學過 C++。但是現在,我只能
: 說,這本也是經典中的經典。它已經深入到接觸 C++ Object Model
: 的層次。特別是 Exception-Safety 這一章一系列的步步深入,很大
: 程度上改變了我對 C++ 的認識。此外,它有提到 Pimpl Idiom,這
: 對改善 C++ 編譯效率也有一定的幫助。其他的主題,例如泛型編程
: 和對標準庫的幾個討論議題、暫時物件、物件壽命、自動轉換…等,也
: 頗有深度。如果沒看過這本,且對自己的 C++ 功力頗有信心的人,可
: 以測試看看。
因為 Effective C++ 的暢銷,導致 C++ 界一窩蜂的出 xxxx C++
這類的書(xxxx 用某個形容詞來代換),像 Exceptional C++ 也是
其中的佼佼者……
: 《The C++ Standard Library》
: 經典中的經典,學 C++ 不學標準庫,就像有腦子卻沒手腳,難以施展。
: C++ 標準庫和大型的 J2EE, .NET 等框架相比,算是很陽春的。
: C++ 標準庫只規範了標準 I/O ,資料流,異常,演算法和資料結構,
: 還有一些國際化議題。一些重要的功能,如: IPC, GUI 等等,都不
: 在其內。
: 這本書是德國人寫的,內容務實中肯,獲得世界一致好評。書中前面
: 有一章特別介紹 C++ 泛型編程基礎,講得很清楚,是我看過最好的
: 入門書(學習 STL)、兼工具書、參考書。雖然很大本,但絕對值得
: 買一本。
這本很好。既充實又好讀。但要當做參考手冊,不是很方便。
Oreilly 有出一本 C++ in a Nutshell 才是真正的參考書,
也就是不是讓你從頭讀到尾的,它的定位是工具書,要查閱
函式庫會比上面那本方便許多。C++ in a Nutshell 適合中上
程度的讀者,不合初學。
: 《C++ Templates》
: 這本書好像是 2001 年出的,中譯本在台灣直到去年才出來。內容完
: 全針對 template 所有的技術細節及應用,豐富得叫人難以想像。
: 有時候,我覺得 template 一直玩下去,會走火入魔,這本書的內容
: ,某些時候給我這種想法。不過還是值得一看。
C++ generic/meta programming 可以玩得花樣極多。不過目前
的 C++ 語言與 template 相關的 construct/feature 還有所
不足(例如未能在核心語言的層次直接支援 "concept"),導致
一些效果要用「奇技淫巧」的方式才做得出來。
目前標準委員會正在努力,計畫在 2009 年時推出下一代 C++
新標準。 ^_^
: 《Modern C++ Design》
: 這本書是近兩年我最愛的一本 C++ 的書,我簡直愛死它了﹗作者把
: C++ template 的編程技術,推向一個嶄新的世界,讓許多 C++ 大師
: 級人物,都目瞪口呆的一本書﹗巧妙地結合 GP 和 OO,讓動態多型
: 和靜態多型完美地合作無間,也讓 Design Patterns 領域,有了全
: 新的視野和思維。它的實作品,Loki 函式庫也是我常常運用到的
: (雖然只有部份能通過編譯,正常的工作)。
: 一本有志成為 C++ 高手絕對不可錯過的書。當然,在此之前,要
: 先把 C++ Primer 等先學好再說。
MCD 我還沒看,聽說要有 desing pattern 的基礎,才利於吸收。
: 《The Design and Evolution of C++》(D&E)
: 這本書台灣沒有譯,我起初看的是英文版,後來知道北京有譯這本書
: ,就托同事的朋友買回來。
: 這本書不適合學習,適合對 C++ 發展歷程有興趣的人看 C++ 之父現
: 身說法,親自講述,C++ 是根據哪些原則原理產生的它的各種語言特徵
: ,取舍之間,又經過了什麼特殊考量。此外,有些歷史因素,影響 C++
: 的發展,裡面都有提到。
: 我當作小說在看的一本。
這本今年日本有出日文譯本,Stroustrup 特別寫了一篇長序,
補足 C++ 後來的發展及未來的展望,有興趣者請到 Stroustrup 的
網頁找來拜讀。
: 另外,專講 STL 的書也很多,有的也很深入,但從實用的角度,我認為
: 只要一本《The C++ Standard Library》就大致足夠了。
: 另外,《Effective STL》也是一本很不錯的書,可以糾正很多不好的用
: 法。
Effective STL 很好。是 Scott Meyers 寫的三本書中我最喜歡的。
: 其實對其他語言的使用者而言,很難接受學個 C++ 要看這麼多書(我想
: 也只有 C++ 的熱愛者,才會真的去讀這些書)。
: C++ 要實用,還要學習許多 GUI, Database, IPC 等等的 Framework,
: 這些東西沒有統一標準,可說憑個人的選擇,通常是基於工作環境的需
: 要。
C++ 很複雜,很多議題很有趣,我現在常常只能直接讀標準規格文件
來解決疑難(那真不是人看的 XD)
不過,鑽得太深,忽略了編程的其他範疇並不好 :-)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.227.252.38
推 UNARYvvv:有規格書真好~往往是解決紛爭的關鍵啊~ 61.70.137.117 08/07
→ UNARYvvv:可惜我只有C99的,沒C++03 61.70.137.117 08/07
推 renderer:推 你們讀的書好多喔 讚讚讚 61.228.216.204 08/07
→ gocpp:我今天去天瓏有看到 C++03,但太貴了,不想買 59.120.214.120 08/07