從組合語言看 C++ new/delete:記憶體管理的底層真相
單一物件 new/delete new 運算子展開 X* xp = new X(100); 對應組合語言邏輯: 呼叫 `operator new(sizeof
C++ const 關鍵字全方位總結:從基礎到進階
const 基礎語意 `const` 修飾的變數初始化後不可修改,故必須在定義時初始化 `const` 物件只能呼叫 `const` 成員函數 編譯期常量
More Effective C++ 精讀筆記:指標與引用、C++ 風格轉型
條款 1:區分指標與引用的適用場景 核心原則 需要「重新綁定」或「可為空」時 → 使用指標 其餘情況 → 優先使用引用 關鍵差異對照 特性指標引用 可為
DHT 網路爬蟲實戰:打造磁力搜尋引擎後端核心
專案緣起 延續《使用 C# 實現 DHT 磁力搜尋的 BT 種子後端管理程序 + 資料庫設計(開源)》一文,本文深入剖析 DHT 爬蟲的核心代碼實現。專案開源於
C++ 透過參數返回堆上記憶體:指標傳遞的陷阱與正確姿勢
問題背景 在 C/C++ 中,若想在函式內分配記憶體並返回給呼叫者,直接傳遞指標參數往往失敗。根本原因在於指標傳遞本質上仍是「值傳遞」——傳遞的是指標的副本。
C++ 虛函數調用機制深度解析:單繼承與多繼承的差異
前言 在 C++ 中,虛函數是實現多態的核心機制。透過基類指標呼叫衍生類的虛函數,看似簡單,實則涉及虛函數表、物件記憶體佈局等底層細節。本文將從單繼承與多繼承兩
MFC CTreeCtrl 與 CListCtrl 失去焦點仍保持選項高亮完整解法
核心設定:屬性頁勾選 控制項屬性名稱設定值 CTreeCtrlAlways Show SelectionTrue CListCtrl (Report 模式)
VC++ 實現全螢幕模式:Win32 SDK 與 MFC SDI 兩種寫法對照
Win32 SDK 純手工版 1. 註冊視窗類別:移除選單、設定背景 WNDCLASSEX wcex = { sizeof(WNDCLASSEX) }; wce
POJ 1002 電話號碼對應完整解題報告:從暴力排序到 I/O 優化 AC 之路
題目大意 輸入 N (≤ 100,000) 筆電話字串 (含數字、大寫字母、連字號),依手機鍵盤映射規則轉為 7 位數字,統計重複號碼並按格式 XXX-XXXX
C/C++ 指標作為函數參數:一級指標 vs 二級指標的抉擇
核心結論:只看函數內部是否「改變指標指向」 場景參數型別呼叫端寫法典型用途 僅修改 指向的記憶體內容T* ptr (一級指標)func(ptr)填充緩衝區、
MFC 對話框專案實作鍵盤控制坦克移動完整教學
專案建立與資源準備 Visual Studio 新建 **MFC Application** → 類型選 **Dialog based** → 完成。 資源檢
C++ 運算子多載陷阱:非 const 參考參數導致暫時物件綁定失敗
問題現場:編譯錯誤 cannot convert A to A& class A { public: A(int a, int b) : a(a), b
Win32 動態庫編譯遺失 .lib 檔?SQLite 實戰排查筆記
問題現場 使用 SQLite 原始碼 (sqlite3.c + sqlite3.h) 自行編譯動態庫 (DLL) 時,輸出目錄僅有 sqlite3.dll,**
C/C++ 迴文判斷經典實作:指標運算與字串處理練習
題目需求 輸入一個字串,判斷是否為迴文 (正讀反讀相同),重點鍛鍊指標運算與陣列/字串操作。 版本一:純 C 風格 (使用 getchar 逐字讀取) #in
Go 語言入門指南:為什麼它適合併發與系統級開發?
背景動機:C/C++ 大型專案的維護痛點 隨著專案規模增長、團隊人數增加,C/C++ 的編譯時間長、相依管理亂、標準庫不統一、建構系統 (Make/CMake)
C/C++ 字串去空白完整指南:lTrim、rTrim、Trim 與進階 TrimEx 實作
基本概念:三種修剪模式 函式功能範例 lTrim移除字串開頭的空白字元 abc → abc rTrim移除字串結尾的空白字元abc → abc Tri
Windows 音訊錄製實作:DirectSound 與 Multimedia API 的抉擇與踩坑記
前言:為什麼需要一個錄音模組? 最近專案需要一個語音識別的 Demo,深入研究後發現,核心前置作業是建立一個可靠的錄音模組。在技術選型階段,DirectSoun