More Effective C++:指標與引用的本質區別與選用指南
指標(*/)與引用(.)語法迥異,功能相似(間接存取物件),何時用哪個? 核心差異 特性指標引用 可為空是(ptr = 0)否,必須綁定物件 初始化可延遲宣
非 MFC 視窗程式:將視窗回呼函數封裝為 C++ 類成員函數
傳統非 MFC 視窗程式將 WndProc 寫為全域函數。本文實作抽象類 CWndProc,透過機器碼 Hook 將回呼導向派生類虛擬成員函數。 核心架構 頭
More Effective C++:拒絕多態陣列——指標運算與繼承的致命衝突
繼承允許用基類指標/引用操作派生類物件(多態),但**絕不可**用基類指標操作派生類陣列。 陣列指標運算原理 class BST { ... }; clas
使用 C++ 與 XML 建立智慧文件 (三):存取內容、調試、安全性與報表生成
智慧文件操作 DLL 需透過 IDispatch 存取底層 Office 文件(如 Excel 專案進度表)。本文分享 C++ 實作細節。 存取 Excel
LZARI 壓縮演算法 C++ 類實現:檔案與記憶體緩衝區雙模式支援
Haruhiko Okumura 1989 年 C 實現的 LZARI 演算法使用全域/靜態變數,MFC 下難用。作者重寫為 C++ 類,新增記憶體緩衝區壓縮/
C++ 類與介面設計原則:高質量、可維護、兼容性優先
面向對象三大特徵(封裝、繼承、多態)在 C++ 中以 class 為核心體現。類設計質量直接決定系統質量。本文從整體功能、介面/實現分離、二進制/原始碼兼容三個
輕鬆從 C 邁向 C++ 系列(三):函數模板、操作符重載與 new/delete 重載
模板與操作符重載將 C++ 表達力推向新高度。 1. 函數模板:一份代碼覆蓋所有型別 template TYPE Add(TYPE a, TYPE b)
輕鬆從 C 邁向 C++ 系列(二):const、inline、函數重載對抗 #define
C++ 提供三大機制徹底取代巨集 #define,實現型別安全與效能並重。 1. const 替代常數巨集 const float PI = 3.14159
輕鬆從 C 邁向 C++ 系列(一):註釋、I/O、即時聲明與作用域
針對資深 C 程式設計師,以 Borland C++ 3.1 為例,通過對比範例輕鬆掌握 C++ 核心新特性。 1. 註釋雙模式 傳統 /* ... */
大數階乘算法 (0~10000) C++ 控制台程式實現
標準 C++ 數據類型存儲空間有限,無法直接計算大數階乘。本程式採用簡單陣列模擬大整數乘法,實現 0~10000 階乘計算,代碼精簡、註釋完整,VC6.0 直接
C/C++ 多維陣列指標作為函數參數傳遞完全指南
多維陣列指標傳參是 C/C++ 經典難點。本文通過一個完整範例(3 學生 × 4 科成績)徹底講透二維陣列指標參數的聲明、呼叫與內部存取邏輯。 核心代碼 s
More Effective C++:切勿重載 `&&`、`||` 與逗號操作符
C/C++ 採用「短路求值」: 10) 中,若 p==0 則不執行 strlen。程式設計師高度依賴此特性。 重載 `&&` / `||` 的災難 重載後,編
學 C++ 不得不看的經驗之談:從面試失敗到大師指引
作者以大四學生身份分享面試某台灣 IC 設計公司的真實經歷,兩道看似簡單的演算法題徹底擊碎自信,引發深度反思,最終獲得資深專家袁紅崗(金蝶中間件 CTO)的八大
C/C++ 跨平台 I/O 陷阱:對齊、填充、類型大小、位元組序與 char 符號性
編寫跨平台讀寫檔案/網路資料的 C/C++ 代碼時,必須應對五大平台相關差異: 1. 資料對齊 特定機器要求特定資料對齊特定邊界,錯誤對齊導致效能下降甚至崩潰
C++ 類成員初始化:初始化列表 vs. 構造函數體賦值
類成員初始化有兩種寫法: // 法一:構造函數體賦值 CMyClass::CMyClass() { x = 0; y = 1; } // 法二:成員初始化列表
More Effective C++:深度解析 new/delete 與 operator new/delete
C++ 術語常令人困惑:new operator(new 操作符)與 operator new(函數)截然不同。同理 delete operator 與 ope