C++ 透過 Win32 API 取得邏輯磁碟詳細資訊
前言 Windows 應用程式開發核心在於呼叫 Windows API。本文介紹幾個常用 API 取得使用者磁碟相關資訊,需包含 windows.h。 主要
C++ STL 輕鬆入門:從歷史淵源到核心架構
什麼是 STL? STL (Standard Template Library),標準模板庫,是工業級、高效能的 C++ 程式庫,納入 ANSI/ISO C++
C++ Builder 應用 GDI 實作虛擬儀表盤:指標旋轉、漫游、縮放與光字技術
前言 實體儀表盤成本高、易損壞、維修難,虛擬儀表盤成最佳替代方案。C++ Builder 結合 Windows SDK 與 GDI (Graphics Devi
C++ 非同步程式設計啟蒙:從 Windows I/O 完成埠 到 協程的演進之路
非同步調用本質:兩個角色、一個同步點 發起者:發出請求、繼續執行其他工作、在同步點等待完成。 執行者:實際執行操作、完成後通知發起者。 同步點:雙
C++ Builder 實作電子郵件群發:SMTP 認證與 ADO 資料庫整合
郵件群發應用場景 電子商務、網路行銷、企業內部通知廣泛使用郵件群發。統計顯示美國超過 70% 網路購物行為歸功於 Email 行銷。本文提出基於 C++ Bui
C++ Builder 多執行緒程式設計實戰:從同步機制到生產者-消費者模型
多執行緒的可行性 MDI 應用程式:每個視窗獨立執行緒通訊,簡化邏輯(如多 Modem 同時連線)。 多處理器系統:Windows 以執行緒為排程單位,多執行
C++ 箴言:只要可能就使用 const
const 的價值 const 讓你指定語意約束:特定物件不應被修改。編譯器強制執行此約束,協助你與其他程式設計師確認數值不變。善用 const 即能借用編譯器
C++ 箴言:審慎設計資源管理類別的拷貝行為
RAII 與資源管理類別 資源取得即初始化(RAII)是資源管理類別的基石。標準庫提供 auto_ptr 與 tr1::shared_ptr 管理堆本資源,但非
C++ 箴言:拷貝函式必須複製物件所有組成部分
編譯器生成的拷貝函式 設計良好的類別僅保留拷貝建構函式與拷貝指派運算子(統稱拷貝函式)。若未自行宣告,編譯器會生成逐位元拷貝版本,正確複製所有資料成員。 自行
C++ 箴言:建構與解構期間絕不呼叫虛擬函式
為何危險? 在建構或解構期間呼叫虛擬函式,行為不會如預期般向下繫結至衍生類別,而是停留在當前執行的基底類別層級。這會導致難以除錯的錯誤。 案例:交易記錄系統
C/C++ 程式優化實戰指南:從資料結構到語言細節
前言 高階語言的程式優化應從資料結構、演算法、控制流程著手。各語言特性不同,優化手法亦異。本文聚焦 C/C++,並輔以 Java、Delphi 等語言的共通原理
C++/CLI 代理建構函式:簡化多建構函式共用初始化碼
傳統做法:共用函式 一個類別常擁有多個建構函式,且它們往往共享一段初始化邏輯。傳統寫法是將共用程式碼抽離成獨立函式,再於各建構函式中呼叫: class Foo
C++ 箴言:避免返回對象內部構件的句柄
為何返回內部句柄會破壞封裝與常量性 假設你正在開發一個處理矩形的應用程式。每個矩形由左上角與右下角兩點定義。為了讓 Rectangle 對象保持輕量,你決定不將
C++ const 實現機制深度剖析:編譯器優化、記憶體佈局與 C/C++ 差異實證
核心問題:const 究竟代表什麼? C 語言:const = 唯讀變數 (Read-only Variable),分配記憶體空間,可透過指標間接修改。
C++ std::invalid_argument 異常最佳實踐:攜帶檔案/行號/函數的精準診斷資訊
異常體系定位 std::exception └── std::logic_error └── std::invalid_argument
C++ URL 編碼解碼完整實作:GB2312/UTF-8 雙模式支援類
需求背景 中文網頁開發常面臨雙編碼共存:舊系統 GB2312、新系統 UTF-8。URL 編碼需根據目標編碼將非 ASCII 字元轉為 %XX%XX... 格式
C++ 多位元組與寬字元字串互轉封裝類:WcharToChar / CharToWchar 完整實作
背景:Windows API 雙字串世界 ANSI/MBCS (char*):傳統 CreateFileA、MessageBoxA、標準庫 std::st