LeetCode 306 累加數:DFS + 字符串大數加法完整解析
題目重述 給定一個僅包含數字的字符串,判斷能否拆分成至少三個數字構成的「累加序列」:除前兩個數外,每個數等於前兩數之和。數字不允許前導零(單個 0 除外)。 例
C++ 數據持久化方案:無數據庫場景下的文件存儲與 JSON 實戰
前言:初學者也能實現數據落地 數據持久化是程序的核心能力。對於未接觸數據庫的開發者,文件 I/O 是最直接的入門路徑。本文從 C++ 文件流基礎出發,對比文本/
C++ 運算符重載進階:避坑指南與最佳實踐
前言:重載是為「人」服務的 運算符重載的目標是讓代碼更直觀、更符合領域語義(如 matrix1 + matrix2、method())。但濫用或錯誤重載會製造難
C++ 模塊化實戰:拆分文件提升可維護性與復用性
為什麼要拆分文件? 單文件寫法在項目小時尚可接受,但隨著代碼增長,萬行級 main.cpp 會讓人「頭暈目眩」。將功能相關的聲明/定義拆分到獨立文件,帶來三大收
C++ RTTI 機制深度解析:typeid 與 dynamic_cast 實戰指南
什麼是 RTTI? RTTI(Run-Time Type Identification,運行時類型識別) 允許程序在運行階段通過基類指針或引用,查詢其實際指向的
C++ 類設計精要:從複數類看良好編程習慣
前言:以複數類為例探討 C++ 類設計原則 良好的 C++ 類設計不僅關乎代碼能否編譯通過,更直接影響程序的可維護性、擴展性與運行效率。本文以一個 comple
STL 源碼剖析筆記(四):deque、stack、queue 容器實作詳解
本文基於 SGI STL 源碼,深入剖析雙端佇列 deque 及其衍生適配器 stack、queue 的實作細節。 deque:分段連續空間的雙端佇列 設計
C/C++ 程式生命週期完整解析:從原始碼到執行檔
一個 C/C++ 程式從編寫到執行,經歷四個主要階段:預處理 → 編譯 → 組譯 → 連結。理解各階段作業內容,對除錯、優化、跨平台開發至關重要。 完整流程圖
C++ 實戰專案:撲克牌模擬系統(洗牌、發牌、排序)
本專案在記憶體中模擬一副 54 張撲克牌,實作洗牌、發牌、玩家管理與手牌排序功能,展示 C 結構體、指標陣列、動態記憶體管理與演算法應用。 資料結構設計 en
C++ 虛函數深度解析:原理、實作與多態機制
虛函數是 C++ 實現執行期多態的核心機制。透過基類指標/參考指向派生類物件,呼叫虛函數時依物件實際型別動態綁定正確版本。 語法與規則 class Base
C++ std::string 完整參考手冊
std::string 是 C++ 標準庫提供的強大字串類別,封裝了記憶體管理與豐富操作介面,可視為字元容器使用。本文整理所有成員函數供查閱。 1. 建構函數
STL 源碼剖析筆記(18):AVL 平衡二叉樹 C++ 模板實作
AVL 樹是最早發明的自平衡二叉搜尋樹。任一節點的左右子樹高度差絕對值 ≤ 1,確保樹高為 O(log n),查找、插入、刪除平均與最壞情況均為 O(log n
C++ STL 進階(二):模板程式設計與運算子多載實戰
本章深入探討 STL 核心思想——模板程式設計,並說明運算子多載如何與模板協作,支援泛型演算法。 1. 函數模板:泛型演算法的基石 模板提供參數化型別機制,分
C++ 串口通訊實戰:基於 MSComm ActiveX 控件
串口通訊將資料位元組分解為單一位元流循序傳輸,結構簡單、連接線少、應用極廣。本文採用 Microsoft Communications Control (MSC
C++ 基礎入門(二):變數與資料型別完整指南
「Hello World」程式雖然能輸出文字,但真實世界的程式設計遠不止於此。為了撰寫能執行實用任務的程式,我們必須引入變數的概念。 想像一下:我要求你在腦海