C++ 虛函數表 (vtable) 佈局深度解析:單繼承/多重繼承/多層繼承/虛基類
實驗工具:顯示 vtable 內容 void DispVFT(DWORD* pVFT) { printf(VFT Pointer:%p\n, pVFT)
DOS BGI 簡易打飛碟遊戲原始碼 (graphics.h)
遊戲簡介 基於 Borland BGI `` 的 DOS 圖形模式小遊戲:飛碟沿拋物線軌跡飛行,玩家控制準星左右/上下移動,空格鍵射擊擊中得分。 核心模組
C++ 記憶體池實作 (MemoryPool) 含效能測試
設計目標 固定大小區塊分配器,適用於頻繁 `new/delete` 同尺寸物件 (如節點、訊息封包)。 減少系統呼叫、避免碎片、提升分配速度。 單例/多實例均
紅黑樹 C 完整實作 (參考 Linux Kernel) 含插入/刪除/搜尋/測試
紅黑樹五大性質 節點非紅即黑 根節點為黑 葉子 (NIL) 為黑 紅節點的子節點必為黑 任一節點到所有葉子的路徑黑節點數相同 核心資料結構 typedef
time_t 與 DATE (OLE Automation Date) 相互轉換無 MFC 依賴實作
兩者差異對照 屬性time_tDATE (double) 基準點1970-01-01 00:00:00 UTC1899-12-30 00:00:00 本地時間
C/C++ 常見誤區與最佳實務指南 (2024 更新版)
語言關係篇 C++ 非 C 超集/替代品:兩者為獨立標準 (C++98/11/14/17/20 vs C99/C11/C17/C23),委員會分立,語法有交集
COM 元件載入替代方案:導出 C 風格工廠函數 (GdiexCreate)
問題背景 標準 COM 透過 CoCreateInstance 建立物件,需註冊表、CLSID、IClassFactory 機制。純 C 專案或不想依賴 COM
C++ CRTP 奇異遞迴模板模式:以靜態多態取代虛函數的效能實測
核心模式 (CRTP) implementation(); } protected: Base() = default; }; class Deriv
WINX 視窗類物件記憶體管理:基於 Owner 的生命週期模型
兩種視窗物件擁有權模型 模型擁有者建立時機銷毀責任適用場景 模型 1 (預設)視窗 (HWND)WM_NCCREATE 時 new視窗銷毀時自動 delete
C++ 實現 Erlang 風格分散式並行機制:架構設計藍圖
核心抽象對照表 Erlang 概念C++ 映射設計關鍵技術點 Process (輕量進程)協程 + 執行緒池C++20 coroutine / Boost.C
DOS 時代圖形程式:機器人大戰遊戲原始碼片段 (BGI graphics.h)
背景 早期 DOS 下 Turbo C/C++ 使用 Borland Graphics Interface (BGI) graphics.h 撰寫的簡易遊戲片段
C++ 字串轉換封裝類:char* 與 wchar_t* 互轉 (Windows API)
動機 Windows API 常需在 ANSI (char*) 與 Unicode (wchar_t*) 之間轉換。直接呼叫 MultiByteToWideCh
C++ 高精度大整數乘除法實現(支持 10000 位)
前言 標準整數類型(long long 等)無法滿足超大整數運算需求。本文提供一套基於十進制數組模擬的高精度乘除法實現,支持 10000 位 整數運算,適合競賽
vector 容器 capacity 與 sizeof 疑難雜症深度解析
前言 std::vector 的動態增長策略與對象大小是 C++ 面試與實戰中的高頻考點。本文通過兩個具體案例,深度剖析 capacity 行為差異與 size
解決 WINX STD_NEW 與 MFC DEBUG_NEW 衝突的最佳實踐
問題背景 WINX 庫的 AutoFreeAlloc 與 STD_NEW(基於 placement new)深受開發者好評。但在 MFC 專案中引入 WINX
Windows 繪圖核心:WM_PAINT、BeginPaint/EndPaint 與無效區域機制全解析
前言 WM_PAINT 是 Windows 視窗程式設計中最基礎也最容易被誤解的消息。本文系統梳理其觸發時機、無效區域管理、BeginPaint/EndPain
COM 開發核心:Variant 與 IDispatch 深度解析
前言 在 Windows COM 程式設計中,Variant 與 IDispatch 是支撐腳本語言、動態綁定與跨語言互操作的兩大基石。本文將從結構定義、設計動