C++11/14 新特性速覽:Lambda、auto、初始化列表與更多
背景 C++11(原 C++0x)遲至 2011 年發布,帶來現代 C++ 的基石特性。本文整理最常用、最具生產力的新語法。 1. Lambda 表達式:就地
養成良好 C++ 編程習慣(一):記憶體管理的藝術
前言:封裝是良藥 C++ 手動記憶體管理(new/delete、malloc/free)是雙面刃。核心原則:以 RAII 類別封裝所有原始記憶體操作,在建構時獲
揭秘 OpenGL 紅寶書棋盤紋理生成算法
經典代碼回顧 #define W 64 #define H 64 GLubyte img[H][W][3]; void makeCheckImage() {
從 SICP 到玩具 Lisp:用 C++ 實作迷你解釋器
專案緣起與設計哲學 閱讀《SICP》雖未完成習題,仍啟發我設計一個動態作用域的 Lisp 方言,並以 C++ 實作解釋器。採用基於根搜尋的標記-清除 GC(記憶
深入理解 C++ 函數內臨時變量的釋放時機
前言 在 C++ 程式設計中,函數內部區域變量的生命週期管理是基礎且關鍵的議題。許多開發者對「有無返回值」影響變量釋放時機存有誤解。本文將通過標準規範與實戰代碼
C++ 呼叫外部程式完整指南:WinExec、ShellExecute、CreateProcess 三大 API 比較與最佳實務
三大 API 定位 API複雜度功能適用場景 WinExec最簡單僅啟動 .exe,兩參數快速啟動本機執行檔,無需控制細節 ShellExecute中等啟動
C++ 參考與指標深度對比:語法、語意、實作、最佳實務
相同點 皆為間接存取機制,本質上操作記憶體位址。 指標儲存位址,參考是物件別名(編譯器內部以指標實作)。 核心差異總表 特性指標參考 實體性獨立物件,佔
C++ 函式參數與回傳值三種傳遞方式:值、指標、引用深度解析
三種傳遞方式對比 方式語法函式內修改參數影響實參典型用途 值傳遞void f(T x)修改副本 x否小型型別、需修改但不影響原物件 指標傳遞void f(T
C++ 面試題:多重繼承指標偏移與 static_cast 隱含轉換
題目 class ClassA { public: virtual ~ClassA(){}; virtual void FunctionA(){}; }; cl
Protobuf 不只是序列化:配置檔、反射 ORM、自訂選項如 C# Attribute
Protobuf 的三大進階用法 Google Protocol Buffers 在 C++ 中常被視為高效二進位序列化工具,實則功能遠超於此。 一、作為人類
C++ 通用型別轉換模板:基於 stringstream 的任意型別互轉
型別轉換模板實作 利用 <sstream> 的 stringstream 實現任意可流式輸入/輸出型別之間的雙向轉換。 #include <
C++ 進階專案實作:繼承體系、運算子多載、選舉模擬系統
專案概覽 建構一個選舉模擬系統,展示繼承、多態、運算子多載、靜態成員、動態容器、隨機選擇等進階 C++ 技術。包含四個核心類別:Person(基類)、Voter
C++ 入門專案實作:Date、Person、PersonSet 類別設計與分離編譯
專案架構 採用標準分離編譯模式:每個類別對應 .h(宣告)與 .cpp(實作),透過 #include 與標頭防護(#ifndef/#define/#endif