Google Test 參數化測試完整指南:單一測試邏輯驗證多組數據
Google Test 參數化測試完整指南:單一測試邏輯驗證多組數據 參數化測試允許開發者撰寫一次測試邏輯,即可針對任意數量的參數組合自動執行驗證,避免重複程式
C++ 大範圍隨機數生成:避開 RAND_MAX 限制的正確姿勢
C++ 大範圍隨機數生成:避開 RAND_MAX 限制的正確姿勢 rand() 函數產生的隨機數上限由 RAND_MAX 決定,Windows Visual S
C++ 入門核心概念完整筆記:從建構子到虛擬函式
C++ 入門核心概念完整筆記:從建構子到虛擬函式 本文整理 C++ 初學者必須掌握的核心語法與觀念,涵蓋類別機制、記憶體管理、繼承多型、運算子多載等關鍵主題,附
FFmpeg 實現 DXVA2 硬體加速完整指南
FFmpeg 實現 DXVA2 硬體加速完整指南 近期在研究 DXVA2 硬體加速技術,發現網路上相關資料稀少,特別是關於如何在 FFmpeg 中整合 DXVA
DirectShow 支援 DXVA 2.0 硬體解碼全流程:解碼器與 EVR 互動實戰
前置條件與架構角色 假設熟悉 DirectShow 過濾器開發。解碼器繼承 CTransformFilter,負責壓縮視訊 → 解壓縮視訊。解碼裝置指顯卡驅動實
Direct3D 9 裝置管理器:多元件共享 IDirect3DDevice9 的標準化機制
背景與角色 DXVA2 硬體加速場景下,多個元件(解碼器、渲染器、後處理)需共用同一 IDirect3DDevice9。**裝置管理器**由裝置擁有者建立,其他
C++ shared_ptr 完整指南:引用計數、循環引用陷阱與最佳實務
核心機制:共享所有權 std::shared_ptr 透過**控制塊**維護強引用計數。複製構造/賦值 → 計數 +1;解構/重置 → 計數 -1;計數歸零 →
C++ STL pair 完全速查:異質二元組的輕量級容器
定義與頭檔 // 正確頭檔 #include // 不是 template struct pair { T1 first; T2 second; /*
Google Test 進階指南(下):斷言傳播、參數化測試、類型測試、私有測試與分片執行
接上篇:Google Test Advanced Guide 核心章節精讀 1. 子程式中使用斷言:SCOPED_TRACE 與致命失敗傳播 SCOPED_
萌新手寫 Trie 字典樹(一):插入、遍歷與堆疊模擬遞迴實作詳解
專案目標 資料壓縮與搜尋提示(自動完成)雛形。輸入詞彙列表,輸出所有詞彙及其路徑字元。 資料結構設計 0=詞彙編號(根節點存總詞數) unordere
C++ UTF-8 字串切分單字實作:支援中英混排的 Trie 字典核心基礎
問題背景 建立中文 Trie 字典樹需將 UTF-8 std::string 切分為單一字元。初期誤以為中文固定 2 位元組(GBK 思維),導致 UTF-8
C++ 建構函數全景梳理:預設、一般、拷貝、轉換、委派與運算子= 深度解析
學習動機:陡峭曲線下的筆記沉澱 C++ 學習曲線陡峭,基礎易學易忘,決定系統整理建構函數相關知識,參考 博主文章 並自行驗證補充。 一、建構函數的唯一使命 物
萌新手寫 Trie 字典樹(三):自動完成(聯想)功能實現與程式碼重構
功能目標:Prefix-based Auto-complete 輸入前綴(如「編程」),回傳所有以該前綴開頭的完整詞彙(如「編程軟件」、「編程學習」等)。本篇在
C++ 記憶體管理與指標核心守則:new/delete 與運算子重載精要
new / delete 五大鐵律 勿用 delete 釋放非 new 分配的記憶體(如 stack 變數、malloc 記憶體)。 勿重複釋放同一記憶體塊(
資料結構實戰:用 C++ 類別模板實作動態擴容 Stack
教學目的:從零手寫 Stack 理解底層機制 閒暇之餘手寫一個基於陣列、支援動態擴容的 Stack 模板類別,深入理解記憶體管理、拷貝語意與 STL 設計哲學。
非同步 Client/Server 框架設計(一):核心問題與 Session 抽象模型
業務場景痛點 上位機軟體需同時控制多台被控端,角色互換(Client/Server),支援 Client 先啟動、Server 後啟動,且需同時支援 TCP 與
萌新手寫 Trie 字典樹(二):查找、導入導出與 JSON 持久化實戰
系列回顧與本篇目標 上篇實現插入與遍歷,本篇補齊查找、檔案導入/導出(持久化)功能,並引入設定檔管理路徑,為後續「自動完成」功能鋪路。 架構設計:配置檔分離
解決 C++ ambiguous symbol 錯誤:命名空間衝突的三大應對策略
錯誤成因 專案整合時引入多個頭檔,若不同命名空間(或全域命名空間)存在同名類別、變數或函數,且使用 using namespace 或未加限定名稱呼叫,編譯器會