小白C++入門到發瘋學習路線(書單整理)

前言

這篇文章實際上是我自己入門過程的總結,一個儘量少廢話的C++入門指南。總結完忽然發現像個讀書清單😄。

具體總結前,想先回答一個問題——要不要先學C,再學C++?

個人看法是,單就學習C++而言,直接學習C++就可以了,不用先學C。在微軟維護STL的Stephen Thomas Lavavej都說他當年學C++之前學C語言浪費了大量的時間,早知道就直接從C++開始。

很多老的項目是C語言寫的,之後的編程生涯多半還是繞不開學C語言,不過那時候你已有C++功底,構不成啥大問題。

因此,這篇文章基本不提C的學習,直接硬剛C++。不贊同的看客勿噴,右上叉叉就是了。贊同的同學可以往下看。

入門

《Accelerated C++》,《Essential C++》二選一精讀。《A Tour of C++》選讀。

  • 《Accelerated C++》很適合新手,因爲她只有短短不到300頁,在普遍磚一樣的入門書籍裏面是一股清流。容易通讀完,減少挫敗感。

  • 《Essential C++》比較適合有其他編程經驗的中手迅速學習C++。內容會比《Accelerated C++》深一些。

  • 《A Tour of C++》,C++ creator扛鼎之作,適合剛學完、還有學完很長時間以後看,快速複習 C++知識。

主看書的同時,輔以這幾個網站的資料,交叉印證——

我當初主看的是 Accelerated C++,在上下班通勤等零碎時間就在手機上看輔助部分的資料,看看跟讀書的理解一不一樣。甚至有時能意識到資料中某些概念的表述不太準確,此刻會發覺自己真的理解了。這種交叉印證的閱讀法,能使自己入門時對基礎理解的自信更足些。

完成這一步後,就可以開始上GitHub看點別人的代碼,嘗試寫點代碼。

我的話,學了在xcode下新建C++工程,然後參照這幾個鏈接,寫了兩個計算器和一個學生管理系統。然後開始搬磚了。

入門這一步是最關鍵的,你初步瞭解了各種基本概念,併成功書寫和運行起了代碼,感覺真棒吧。

接着下面介紹的,就是順利入門以後的廣闊大海,慢慢慢慢慢慢慢慢、好好好好遊吧。留心,不要急,千萬不要抱有直接把後面的內容一口氣學完,再開始幹活的想法。因爲那樣要耗費巨量時間且效果不好,況且C++是學不完的,也沒有人敢說精通。請一邊投入實作,一邊保持學習。

系統化

入門後有時間就要閱讀些更系統的書。

具體就是《C++ Programming Language》(現在已經有第四版了)和《C++ Primer》二選一精讀。之後有時間可以翻翻另一本。
(強調提示 !!!《C++ Primer》和《C++ Primer Plus》不是同一本書的不同版本,作者也不一樣。【不建議】看《C++ Primer Plus》)

函數庫

到這裏你應該跨過了語法障礙了,要開始瞭解函數庫。可以按順序看看《C++標準庫》、《深入理解C++對象模型》和侯捷老師的《STL源碼剖析》。

追逐性能與優雅

現在應該對C++算有小小成,可能會對如何寫出更好性能、更優雅的C++代碼感興趣,可以繼續看《Effective C++》和《More Effective C++》,《Exceptional C++》。

哲學

能堅持到最後這步,你可能快瘋了,瘋子喜歡問哲學問題,比如C++是誰、從哪來、要到哪去。

嘗試讀讀《C++沉思錄》、《The Design and Evolution of C++/C++語言的設計和演化》。

另外 C++(C語言) 在一衆高級語言裏面卻算是比較貼近計算機底層的語言。多瞭解計算機結構、存儲、運算原理方面的知識,會對C++ 的來龍去脈理解得更透徹,可以讀讀《計算機科學導論》、軟件工程的《代碼大全》、操作系統的《現代操作系統》、程序員入門的《深入理解計算機系統》。

文章福利

對於自己找不到視頻、書籍資源的讀者,可以加小編的C語言/C++交流羣:967051845! 整理了一些個人覺得比較好的學習書籍、視頻資料共享在羣文件裏面,有需要的可以自行添加哦!~

VS編譯器,圖形庫

C語言相關電子書

C/C++基礎視頻及筆記

C/C++項目實戰

日積月累,終有所成!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章