計算機沒什么用,它只會告訴你答案
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?—— 畢加索
作者:[美] Stanley B. Lippman/[美] Josée Lajoie/[美] Barbara E. Moo
出版社:電子工業出版社
原作名:C++ Primer, 5th Edition
出版年:2013-9-1
頁數:838
定價:CNY 128.00
裝幀:平裝
ISBN:9787121155352
我的評分:9.5
優點:作為入門書籍和工具書來講非常好,書后習題不錯,索引非常棒,而且書中的示例體現出了很多非常好的設計
缺點:略微枯燥,書后習題沒有答案,沒有勘誤表
閱讀對象:C++ 初學者的入門書,C++ 使用者的工具書
平日工作也比較忙,利用中午休息和晚上休息的時間看的這本書,大概一共看了不到三個月吧,書后習題也做了一部分。當我讀完一整本書后,有一種如釋重負的感覺。這本書雖然是 Primer ,但 C++ 就是這樣,有很多語言之外的東西需要你去掌握,也有很多相比于 C# 或者 Java 來說奇奇怪怪的語法,所以整體的難度并不低。這本書也可以當作一本工具書,不算索引也有將近800頁,所以讀起來相對枯燥一些,但這正好能鍛煉你讀書的意志力,這本書都都下來了,還有什么不能讀下來呢?(語言的學習我覺得是最無趣的)
這本書是 C++ 界乃至編程界赫赫有名的著作,基本涵蓋了 C++11 里能用到的和不能用到的全部知識,對,你沒看錯,反正我覺得我是不會在一個函數里定義一個局部類。有一句話說的好,C++ 最大的敵人是它的過去,起初我并不理解,但讀完這本書,算是理解了這句話的意思。為了兼容C,為了兼容舊標準,有時候必須要定義一些很晦澀的語法去給使用者使用。但作為學習資料和工具書,有必要對這些東西都有提及,幸好,這本書足夠全面,這些東西都有講到。
如果你是一個編程的新手,這本書其實會讓你感覺有些痛苦,因為太多的知識,你無法分清哪些是必須十分清楚的,哪些是日后可能用不上暫時了解學會就可以了的,當然如果你能全部掌握,那是最好的。如果你不是新手,這本書其實也會讓你感覺有些痛苦,因為你會發現 C++ 有很多異于你所掌握的語言的地方。
但是通讀這本書之后,收獲可以說是蠻大的。這本書不僅能讓你學到 C++ 的基礎語法,更重要的是也能讓你了解到很多 C++ 的一些編程思想,例如 C++ 的拷貝控制,標準庫算法和迭代器的設計和使用思路等,這些想必都是你日后進行 C++ 開發必不可少的東西。書中大量的示例也能讓你在學習的過程中對知識點理解得更清楚。
這本書我覺得一個非常好的地方是書后的練習題,可以說這些練習題能讓你回顧你所學的知識,也能讓你面臨一些小小的挑戰。我強烈建議在學習的過程中遇到習題的時候就去做,而不要攢到后面再回來補,因為很多習題都是跟相應的章節的內容關聯的,如果不及時做,很可能后面會有一定的遺忘。另一個非常好的地方就是書后提供了名詞的索引,這對學習和查閱龐大的 C++ 知識體系來說是極為有幫助的。
不過很遺憾,這本書的習題基本沒有答案,這其實是令我很苦惱的一件事情,編程題還好說,結果可以作為證明,但是一些開放性的問題,做完了并不能知道自己是不是真的答對了。不過開放題本身就是跟自己對編程的理解相關聯的,以后隨著經驗的增加,會理解得更透徹,所以也不用太在意。還有一個遺憾就是第五版貌似沒有一個正式的勘誤表,而且書中確實有一些錯誤,不知道是不是中文翻譯過程中出現了一些失誤,但對閱讀毫不影響。
還要說一句是,這本書并沒有提及線程的相關知識。
總而言之,這是一本好書,而且是你學習 C++ 必讀的一本書!