現狀
讀完譚浩強《C++ 程序設計》入門書,掌握基礎語法、類、繼承,能寫簡單程序。同學分流:搞算法/編程思想 vs 學 MFC。
明確建議
- 放棄 MFC:微軟已停止功能更新,僅維護安全補丁。新項目零採用,學習投資回報率極低。
- 優先補齊數據結構與算法:
- 《數據結構與算法分析:C++ 描述》(Mark Allen Weiss)
- LeetCode Hot 100 刷題,專注向量、鏈表、哈希、樹、圖、動態規劃。
- 系統性學習現代 C++ (C++11/14/17/20):
- 必讀經典:《C++ Primer》(第5版) —— 語言特性百科全書。
- 進階必讀:《Effective C++》《Effective Modern C++》《Effective STL》(Scott Meyers)。
- 實戰項目:用 C++17 實現簡易 HTTP 服務器、線程池、內存池、JSON 解析器。
- 並行學習計算機系統底層:
- 《深入理解計算機系統》(CSAPP) —— 內存層次、鏈接、異常控制流、並發。
- 《Linux 多線程服務器編程》—— epoll、線程池、鎖自由編程。
學習節奏建議
| 階段 | 重點 | 產出 |
| 1-2 月 | 《C++ Primer》前 12 章 + LeetCode 易/中 50 題 | 熟練使用 vector/string/smart_ptr/lambda/移動語義 |
| 3-4 月 | 《Effective C++》條款 1-30 + 手寫智能指針/線程池 | 理解資源管理、拷貝控制、RAII 精髓 |
| 5-6 月 | 《Effective Modern C++》+ 實戰項目(如簡易 RPC 框架) | 掌握 C++11/14/17 新特性工程落地 |
心態建設
C++ 學習曲線陡峭,正常。每天 1-2 小時持續半年,質變發生。拒絕「速成班」心態,建立知識體系,畢業時將擁有極強就業競爭力。