這不只是一本教程的序言,更是一份**引導初學者踏入 C++ 殿堂的策略指南**。作者憑藉多年編程經驗,見證無數學習者在指標、模板、記憶體管理、模板元編程的迷霧中掙扎、放棄、或突破。這 30 天,不求面面俱到,只求**建立正確心智模型、養成工程化習慣、打通核心知識脈絡**。
| 誤區 | 破解策略 | ||
|---|---|---|---|
| 買一堆厚書從頭啃到尾 | **專案驅動**:寫小工具、刷 LeetCode Easy、改開源 Bug,遇缺補漏 | ||
| 死記語法細節(如運算子優先級表) | **查手冊**:常用留腦,罕用查 cppreference,腦力留給設計 | ||
| 以為掌握語法就會寫程式 | **工程思維**:建構/解構、RAII、異常安全、模組劃分、測試、CI/CD | ||
| 獨自苦戰不求助 | **社群力量**:Stack Overflow、Reddit r/cpp、Discord C++ 伺服器、技術博客 | ||
| 追求「完美代碼」不敢動筆 | **先跑通再重構**:TDD、小步提交、Code Review 學習他人風格 |
| 階段 | 天數 | 核心主題 | 產出物 |
|---|---|---|---|
| 基礎語法與記憶體模型 | 1-5 | 型別、變數、流程控制、函式、指標/引用、陣列/字串、堆疊/堆、RAII 入門 | 命令列計算機、學生成績管理 |
| 物件導向與資源管理 | 6-12 | 類別、建構/解構/拷貝/移動、繼承/多態、智慧指標、標準容器、異常處理 | 簡易文字編輯器、資源管理器 |
| 泛型程式設計與標準庫 | 13-20 | 模板基礎、STL 容器/演算法/迭代器、Lambda、 | 通用排序/查找框架、CSV 解析器 |
| 進階特性與工程實戰 | 21-27 | 多執行緒、檔案 I/O、網路 (Boost.Asio/ASIO)、序列化、單元測試、CMake、Sanitizers | 多執行緒下載器、HTTP 伺服器 |
| 現代 C++ 與生態 | 28-30 | C++17/20/23 新特性、模組、概念、協程、套件管理、開源貢獻入門 | 個人專案發布至 GitHub、撰寫技術文 |
合上序言,打開編輯器,輸入第一行:
#include <iostream>
int main() { std::cout << "Hello, Modern C++!\n"; }
編譯、執行、看到輸出——**旅程正式開始**。記住:C++ 不難,難的是堅持;不玄學,玄的是工程。 30 天後,你將擁有打開系統程式設計大門的鑰匙。