所以你想要學C++嗎?

一系列的書讓你從C++初學者變成C++專家

你真的想學C++而且想要學好它?假如你花些時間看完這裡的書籍推薦,你會學C++。

讀了這篇文章,你可以照著我們的建議從C++初學者成為專家,列表的順序依照難易程度來安排,你應該照著這順序來研讀,但是C++程式語言經典本是有用的參考手冊,你可以在你讀其他書籍的時候一起閱讀。

1. C++ 風格與藝術

C++ 風格與藝術 第二版cprogramming 最推薦的一本書,本書的第二版是適合學習 C++ 的程式設計員的徹底入門書籍。你已經知道這個程式語言,現在準備好實作了嗎?C++ 風格與藝術會深入探索很多層面;你可以使用C++程式語言來學習實用的技巧以及撰寫很棒的程式碼,本書內容涵蓋:
  • C++ 語法
  • 程式編寫標準和風格
  • 物件類別的建立和使用
  • 模板
  • 除錯和最佳化
  • C++ 前置處理器的使用
  • 檔案的輸入╱輸出
  • 軼事跟經驗
  • 效能調整技巧,學習讓程式更快
  • 學習利用程式設計師的工具

2. Programming Pearls中文版

這本書已經絕版不過同學還是可以買二手書籍或是從圖書館界來看, Jon Bentley 的程式設計逸品集通常被歸於經典名著之林,你已經學了些基本技巧,現在想像個程式設計師了,現在是時候測試自己的本領了, Programming Pearls中文版提供了15個專欄情境給你,這是Alex Allain最喜愛的書籍之一:裡面有很多詼諧的文字,內容包括:
  • 如何重新制定問題來寫出簡潔的方案
  • 更多效能技巧以及一段的效能調整參考
  • 強大的效能評估技術以及程式的限制
  • 如何展示你的程式作品
  • 一大票的強大演算法跟應用的創新方法
  • 各種簡單的技巧已撰寫簡潔的程式碼

你還可以看到很多在找工作面試時會碰到的問題解法,這是一本很棒的書可以讓你了解各種重要的演算法以及來學習。

3. Effective C++ : 55 Specific Ways to Improve Your Programs and Designs 

這一本書的繁體中文版碁峰出到第三版,應該已經絕版,但是有些書局可能還有庫存可以買到,簡體中文版的不知現在能不能買到,有辦法的同學可以找一本來讀讀,這是第一本書可以讓你與眾不同的書,一旦你閱讀,你就會有一大批的工具來扔掉程式的問題,雖然你可能不會用到所有的50個技巧,不過你會學到很多C++細微的差異以及避免很多陷阱–Alex Allain第一次讀完之後,他發現他自己從幾個收集來的技巧輕易地抓到錯誤,在這本書裡你可以學習到:
  • 什麼功能是類別的一部份,為什麼它跟你有關係
  • 如何撰寫程式碼給別人使用
  • 在撰寫指定運算子時有什麼要注意
  • 可導致巨大效能改善的簡單技術
  • 進階的C++技術,包括STL的使用(有很多的範例

4. More Effective C++國際中文版

More Effective C++國際中文版和其前一本兄弟書籍Effective C++一樣,More Effective C++對每一位以C++為開發工具的程式員而言,都是必備讀物。More Effective C++一書充滿了實用性高且擲地鏗鏘的忠告,為你每天可能面對的問題帶來幫助。你可以學到特定的設計問題包括
  • 經過驗證的一些用來改善程式效率的方法,包括尖銳而犀利地檢驗C++語言特性所帶來的時間和空間上的成本。
  • 廣泛描述C++專家所使用的高階技術,包括placement new、virtual constructors、smart pointers、reference counting、proxy classes、double-dispatching。
  • 以實例說明exception handling帶給C++ classes和functions意義深長的衝擊 包括其結構和行為。
  • 務實面對新的語言特性,包括bool、mutable、explicit、namespaces、member templates、C++標準函式庫、以及更多東西。如果你的編譯器尚未支援這些特性,Meyers告訴你如何在沒有它們的情況下完成該完成的事情。

這本書充滿實用的建議跟智慧,以及對強大且具威力的設計有很清楚的說明。

5. C++程式語言經典本

 這本書可能只能在二手書攤找到或是圖書館借到,不管怎樣都值得看看,這本書是由發明C++的人寫的,裡面涵蓋了很多主題(真是見鬼,是整個語言!) 更好的是,你會了解如何使用語言的功能,Stroustrup的寫作有時不太易懂,有些部份偶爾要讀好幾變才能了解全貌,儘管如此,內容的廣度令人震驚,這本書也是一本優良的參考手冊,當我在用C++工作時我手上都會有這一本書,如果你對這個語言有問題,幾乎可以確定回答你的問題,雖然這本書涵蓋的範圍是這麼大,很難讓你取出你要學習的部份,我們還是列了一些你可以學到的東西
  • 令人難以置信的深度跟廣度
  • 語言跟功能細微的差異說明
  • 語言裡偏僻個案的說明
  • 不為人知的語言功能之詳細說明–成文C++細節中的真正專家

6. 萬無一失的程式碼:終結C&C++軟體漏洞

這是博客來最新出的書,這本書指出並解釋造成軟體漏洞的原因且逐步介紹了避免的方法。此外,本書鼓勵程式設計師採用最好的安全方法並擁有安全心態,如此一來,除了可以保護軟體不受到今日的攻擊,也可避免明日的攻擊。

技術細節:

  • 增加任何C或是C++應用程式的安全性
  • 克服利用不安全字串操作進行攻擊的緩衝區溢位、堆疊失效或回傳導向的程式攻擊手法
  • 避免動態記憶體管理函數的誤用而導致的弱點或安全瑕疵
  • 消除因符號整數溢位、無符號整數包裹循環及裁截錯誤所產生的整數相關問題
  • 進行安全輸出輸入,以避免檔案系統弱點。
  • 正確使用格式化輸出函式,避免發生格式化字串安全弱點
  • 當開發同步程式時,避免競搶條件以及其他可被利用的弱點發生

依類別分類的程式語言書籍

閱讀一本好書通常學習如何寫程式的最好方法,有些書涵蓋的材料在深度上比多數的教學還深入,有些書則提供優良的參考部份,或是全部徹底地作為參考,我們的目的是幫你找到適合你的書。

閱讀下面類別的書籍評論,或是在程式語言中受歡迎的書中選擇幾個技巧。

需要提一下的是沒有一個人可以一夜就成為一個程式設計專家;這些書頁不能保證你變成一位專家就像你不會因為讀了教科書之後就保證你可以得A那樣,你必須把你的知識付諸實踐一段時間後才行,然而這些書可以幫助你獲得一堆的知識跟實用建議來幫你減少學習的時間。

感謝你看到這裡,很快就可以離開了,但最好的獎勵行動就是按一下幫我分享或留言,感恩喔~

點我分享到Facebook

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *