C++ 學習無捷徑,唯有「基礎紮實、分類總結、反覆練習」。本文梳理兩年自學/面試/考試高頻考點,按模組劃分為四大塊,供查漏補缺與階段性自測。
模組一:函數與內存基礎
- 內聯函數、函數重載、默認參數、
delete 釋放內存
- 三大函數:建構/拷貝建構/析構 — 功能、執行順序、內嵌對象順序、類作參數順序
- 拷貝建構調用三大場景:初始化賦值、實參傳遞、函數返回
- 對象數組、對象指針下標/指針訪問
this 指針、string vs 字符數組、子串/長度操作
- 對象/引用/指針作參數區別、
const 修飾規則
- 靜態數據/函數成員:聲明、定義、初始化位置
- 友元:普通函數/類作友元聲明、使用場景
模組二:繼承與派生
- 單/多重繼承語法、基類帶參建構函數的派生寫法
- 訪問屬性變化:public/protected/private 繼承下的三層轉換表
- 多重繼承建構/析構順序、虛基類解決菱形繼承、虛基類建構只執行一次
- 派生類內嵌對象建構順序
- 訪問聲明 (
using Base::member) 復活被隱藏成員
模組三:多態與運算符重載
- 運算符重載三種形式:普通函數/友元/成員函數 — 參數個數差異、調用方式
- 賦值運算符
operator= 三大函數調用時機
- 虛函數機制:定義、覆寫規則 (名稱/返回值/參數/順序完全一致)、純虛函數/抽象類
- 動態多態條件:基類指針/引用指向派生對象 (非對象切片)
- 文件類體系:基類對象關聯派生類
open()、建構函數鏈
模組四:面試/考試高頻真題方向
- 手寫單例模式 (線程安全版 / 雙重檢查鎖 / C++11 static 局部變量)
- 智能指針
unique_ptr/shared_ptr/weak_ptr 實現原理與循環引用破解
- STL 容器底層結構:
vector 擴容、map/set 紅黑樹旋轉、unordered_map 哈希桶擴容
- 移動語義、完美轉發、
emplace_back vs push_back
- RAII、異常安全保證 (基本/強烈/不拋出)
- 多線程:
mutex/condition_variable/future/atomic、無鎖隊列設計
學習建議
「高樓萬丈平地起,切記浮躁,一步一個腳印。」
— 將上述知識點轉化為 Anki 卡片 或 Markdown 筆記庫,每週隨機抽查 20 條,堅持半年,C++ 核心知識體系將內化為肌肉記憶。
作者聯繫
來源:開發源代碼博客