C++ 分號使用規則詳解:空語句、語句塊與自定義型別
分號在 C++ 中有三種主要用法,理解清楚可避免常見語法錯誤。 1. 空語句 for (;;) ; // 無限迴圈,分號即空語句 while (condit
I/O 多路複用伺服器程式設計:select 模型完整實作
I/O 多路複用讓單一執行緒同時處理多個客戶端連線,避免多進程/多執行緒的建立與切換開銷。核心系統呼叫 select() 監控多個檔案描述符,任一就緒即返回。
C++ 類別模板友元聲明:三種友元關係與依賴性規則
類別模板中可宣告三種友元,授予不同層級的存取權限。 三種友元聲明 普通非模板友元:friend class Base; —— 授予特定類別/函數存取
C++ 模板實例化機制:隱式與顯式實例化、編譯模型
模板本身非程式碼,僅在使用時實例化產生實際函數/類別。實例化時機與模型直接影響專案組織方式。 實例化時機 類別模板:引用具體模板類別型別時(如 Qu
C++ 模板進階:模板參數細節、非型別參數與模板聲明
深入探討模板參數的分類、作用域、命名限制與聲明語法。 模板型別參數:typename vs class 在模板參數表中 typename 與 cla
C++ 模板與泛型程式設計入門:函數模板與類別模板基礎
泛型程式設計核心是「與型別無關地撰寫程式碼」。模板是藍圖,編譯期產生具體型別版本。C++ 多型分執行期多型(虛函數)與編譯期多型(模板/參數化多型)。 函數模
C 語言回調函數詳解:函數指標與 typedef 兩種寫法
回調函數本質是「將函數指標作為參數傳遞,由被呼叫者在適當時機調用」。常見於事件驅動、庫函式自定義行為(如 sqlite3_exec、qsort 比較函數)。
C++ 核心概念筆記:聲明與定義、記憶體操作、標準庫形式與封裝
整理《C++ Programming Language》學習筆記,釐清核心概念差異與實務應用。 1. 聲明 vs 定義 聲明:引入名稱,不分配儲存空
C++ 單例模式實作:線程安全與自動釋放
單例模式確保類別全域僅有一個實例,並提供全域存取點。適用於真正需要「單一實例」的場景(如日誌、配置管理、連線池)。 經典實作(梅耶斯單例 C++11 線程安全
C++ 虛函數詳解:動態綁定機制與程式設計技巧
虛函數使系統易於擴展:程式可對基類別指標/參考統一處理,執行期動態分派至正確派生類別實作。經典範例:Shape 基類別與 Circle、Rectangle 派生
集中決策與分散決策:C++ 程式設計的架構思考
什麼是集中決策? 在軟體工程中,決策邏輯的組織方式直接影響程式碼的可維護性。所謂「集中決策」,是指將大量條件判斷集中在單一函式中處理。我們先看一段典型的 C++
C++ 純虛函數、抽象基類別與容器多型設計
純虛函數(virtual ReturnType Func() = 0;)定義介面契約,不提供實作,強制派生類別覆寫。含純虛函數的類別為抽象基類別,不可實例化,僅
C++ 繼承進階:重載函數、虛函數與作用域交互作用
承上篇,進一步探討重載函數在繼承體系中的行為、虛函數的作用域解析細節與實務陷阱。 重載函數遮蔽規則 派生類別定義任一同名函數,即遮蔽基類別所有同名重