我想認真學習一下後端語言C++!我應該怎麼來學習?
你可以把這個作為基礎路線, 但還得增加不少東西!
如果你已經大三,今年6月就要開始找實習的話
那還學屁C++,去學java什麼的
如果你現在時間還充裕?
那可以參考我自己的C++後端開發路線:(總共分了四個大項,每個大項之間是可以同步進行的)

語言工具方面
必讀:
1.《C++ primer》(感到吃力的話可以先看《C++ primer plus》,找時間再把《C++ primer》看一遍)這本不用介紹了吧- -
2.《effective C++》C++是一門相對很複雜的語言,複雜也就意味著不好掌握他,很容易就寫出坑,而這本書就是幫助你去避免一些常見的坑
3.《C++ 標準庫》STL總得會吧?超厚的一本,勸退神作...
4.《effective STL》避免一些在使用STL時常見的坑
選讀:
1.《STL原始碼剖析》這本書怎麼說呢,適合去深入的瞭解STL原始碼,觀察實現細節。時間多或者對這特別感興趣... 可以讀... 把我虐慘了,但是收益也很大就是了
2.《more effective C++》effective C++的續集,有時間的話可以讀,內容深度上比effective C++深
3.《C++ Templates》C++模板的較深入學習,反正我沒讀完,太難了
實踐:
1.《貪吃蛇》
2《XXX管理系統》
3.《json解析器/生成器》 miloyip/json-tutorial 可以照著這個寫個C++版本的出來
以上三個專案在讀完《C++ primer》/《C++ primer plus》+《effective C++》後進行
4.《mini STL》力所能及的去儘量寫,能寫多少算多少,參考標準文件的介面實現,可以暫時不考慮整體結構,可以暫時不寫成模板的...
在讀完《C++ 標準庫》和《effective STL》後完成
5.重構《mini STL》
如果你讀了選讀的部分... 也是盡力而為吧...
計算機基礎方面(注意,這兒的基礎理解為底層什麼的更合適)

必讀:
1.《編碼》科普向,很有意思,啟發興趣和簡單有個最大概的認識...
2.《深入理解計算機系統》計算機體系結構、計算機組成、作業系統、組合語言 這些玩意的導論
3.《現代作業系統》較深入的系統學習作業系統方面的知識
4.《計算機網路——自頂向下方法》如書名- -
選讀:
編譯原理相關的書,因為這個本身我也學得很差,而且興趣不大... 就不具體推薦了
計算機組成原理/計算機體系結構相關的書,這方面的知識我感覺深入理解計算機系統裡講的對我而言夠用了,所以也不具體推薦了
實踐:書後的習題能完成多少算多少吧- - 難度很高...
資料結構與演算法

必讀:
1.《資料結構與演算法分析》
2.《演算法》
選讀:
3.《演算法導論》
這三個沒啥好說的,反正就是資料結構與演算法的東西嘛
實踐:
儘量去實現學到的結構/演算法
雜項

必讀:
1.《linux鳥哥私房菜基礎版》學會使用linux
2.《UNIX高階環境程式設計》
3.《unix網路程式設計》
4.《Linux多執行緒服務端程式設計》
5.《head first 設計模式》
6.《程式設計師的自我修養》
7.《資料庫系統基礎教程》
8.git與github的使用,這個看廖雪峰大佬的部落格學就行了
選讀:
1.《程式碼大全》
2.《UNIX程式設計藝術》
3.《QT Creator 快速入門》
.....
這兒可以寫的書就很多了... 我就大概寫了我讀完並覺得很不錯的列了出來,順序上除了前面4本,其他的倒也不用按順序閱讀了
實踐:
學到這兒了,能實踐的東西可就太多了,下面給出簡單的建議:
1.即時通訊軟體
2.閱讀好而簡單的專案原始碼
......
結束
好了,這就是我自己大概的學習路線,需要注意的是,這是 C++後端伺服器開發 的路線,所以請別問我為什麼沒有《OpenGL程式設計指南》之類的書。學習時間上... 花了兩年半的樣子,如果自己不貪玩的話(steam喜+1警告),估計需要一年半的樣子去完成這些內容。
另外想要成為一個優秀的、有能力C++程式設計師的話,其實作為一個開發者或者程式設計學習者,有一個學習的氛圍跟交流圈子特別重要!這裡我推薦一個C語言C++交流企鵝群(群號見簡介)不管你是不是零基礎,大家都可以一起成長進步。
作者:龍時雨
原文連結:https://www.zhihu.com/question/318605372/answer/641486772
來源:知乎