C/C++ 內存管理全景指南:五大區域、分配方式、常見錯誤與最佳實踐
C++ 程序內存五大區域 區域存儲內容生命周期管理方式 棧局部變量、函數參數、返回地址作用域結束自動銷毀編譯器自動 堆new 分配的對象程序員手動 delet
深入理解 free() 實現機制:為什麼不能 free 非 malloc 返回的指針?
現象復現 char *p = malloc(10); char *q = p + 2; // 指向內部偏移位置 free(q); // C
《算法導論》二叉搜索樹 (BST) 核心操作 C++ 完整實現:插入、查找、前驅後繼、刪除、遍歷
BST 節點定義 struct TreeNode { int val; TreeNode *left, *right, *parent;
ZOJ 3659 Conquer a New Region:並查集維護動態連通塊與歷史最大貢獻值
問題建模 有 n 個初始孤立節點(每個權值 1),給定 n-1 條邊 (x, y, c),按 c 從大到小處理。每條邊合併兩個連通塊,新塊權值 = 兩舊塊權值之
C++ 對象賦值陷阱:繼承鏈中內存佈局差異導致的數據覆蓋問題分析
問題現象 子類對象通過基類指針賦值給另一基類對象時,子類特有成員被基類未初始化的內存覆蓋,導致數據錯誤。 代碼復現 bit2 = b; Concre
C/C++ 浮點數字符串轉換:atof 精度缺陷與 strtod 高精度替代方案
問題背景 atof(const char*) 返回 double,但實際精度僅相當於 float(約 6-7 位有效數字)。對於高精度需求(如科學計算、金融金額
ZOJ 3662 解題報告:三維動態規劃與最小公倍數狀態壓縮
問題重述 給定 n, m, t,求長度為 t 的序列,每個元素是 m 的約數,序列和為 n,且相鄰兩元素的最小公倍數也是 m 的約數(實際上等於 m 的某個約數
C++ 單鏈表完整實現:初始化、增刪改查、遍歷與內存管理
線性表存儲結構對比 特性順序表 (數組)鏈表 (鏈式存儲) 存儲方式連續內存離散節點 + 指針 讀取模式隨機訪問 O(1)順序訪問 O(n) 插入/刪除O(n
Windows 動態庫 (DLL) 創建與調用完整實戰教程:從導出函數到運行時加載
概覽 本文演示如何在 Visual Studio 中創建一個導出函數的 DLL,並在獨立控制台程式中通過 LoadLibrary/GetProcAddress
iOS 開發中 NSString 編碼轉換完全指南:UTF-8、Unicode、GBK 互轉實戰
常見編碼場景與轉換需求 iOS 開發中常遇到服務器返回非標準編碼字符串,需正確轉為 NSString。本文整理三大高頻場景: NSString → UTF-8
Box2D 碰撞過濾機制深度解析:groupIndex、categoryBits 與 maskBits 交互規則
默認碰撞過濾回調 ShouldCollide Box2D 在 b2WorldCallbacks.cpp 中提供默認實現: 0; // 正:強制碰撞;負:強制不
POJ 3764 The XOR-Longest Path:樹上異或最大路徑的字典樹優化解法
問題描述 給定一棵帶權無向樹,尋找一條路徑,使得路徑上所有邊權值的異或和最大。節點數上限 100,000,邊權為非負整數。 核心洞察:樹上路徑異或距離分解 任
利用 DFA 實現句子語法匹配:HNU 10076 Jimmy's Riddles 解題詳解
前言 在處理類似正則表達式的字符串匹配問題時,確定有限自動機(DFA)是一種極為高效且穩健的工具。本文以 HNU 10076 Jimmys Riddles 為例
C++ 簡易執行緒池實現:任務佇列、動態調度與回調通知
設計目標 實現一個輕量級、Header-only 風格的 Win32 執行緒池,支援: 固定最大並發數,任務超出時排隊等待 任務提交非阻塞 (PostThre
MFC 基於 GDI+ 的 GIF 動畫控件實現:CGIFImage 完整源碼解析
需求背景 MFC 標準靜態控件 (CStatic) 不支持 GIF 動畫播放。利用 GDI+ (Image 類) 的多幀解碼能力,配合工作線程定時切換幀,可實現
矩陣鏈乘法:動態規劃求解最優括號化與標量乘法最小化
問題定義 給定 n 個矩陣鏈 A₁, A₂, ..., Aₙ,其中矩陣 Aᵢ 維度為 pᵢ₋₁ × pᵢ。矩陣乘法滿足結合律但不滿足交換律,不同括號化順序導致標
C++ 字串編碼轉換類:自動識別 ANSI/Unicode/UTF-8 並互轉
設計動機 Windows 開發中頻繁遇到多種編碼共存:ANSI (系統預設代碼頁)、UTF-16LE (Unicode、含 BOM)、UTF-8 (含/不含 B
UVA 5713 秦始皇國道系統:最小生成樹與次佳替換邊優化
問題描述 給定 n 座城市的座標 (x, y) 及價值 val[i]。需建設道路網連接所有城市,道路長度為歐幾里得距離。目標:最大化 (val[u] + val