C++ 繼承中虛函數、純虛函數、普通函數的區別與實踐
三類成員函數對比 類型聲明語法運行時多態子類重寫實例化限制設計意圖 虛函數virtual void f() { ... }✅ 支持可選(可重寫實現特化)無提供
PAT 1040 Longest Symmetric String:Manacher 算法 O(N) 求最長回文子串
問題描述 給定長度 ≤ 1000 的字符串,求最長對稱子串(回文子串)的長度。 示例:Is PAT&TAP symmetric? → 最長回文 s PAT&TA
HDU 1350 Taxi Cab Scheme:二分圖最大匹配求最少出租車數
問題描述 M 個預訂訂單 (M < 500),每單含:出發時間 hh:mm、上車點 (a,b)、下車點 (c,d)。車輛行駛時間為曼哈頓距離 |a-c| + |
PAT 1050 String Subtraction:字符集過濾 O(N+M) 線性解法
問題描述 給定兩行字符串 S1、S2(長度 ≤ 10^4,可見 ASCII + 空白),輸出 S1 中不在 S2 中出現過的字符組成的新字符串,保持原序。 示例
PAT 1049 Counting Ones:1 到 N 中數字 1 出現次數的數學規律解法
問題描述 給定正整數 N (N ≤ 2^30),計算 1 到 N 所有整數十進制表示中數字 1 出現的總次數。 示例:N=12 → 序列 1,2,...,12
POJ 1273 Drainage Ditches:最大流 Dinic 算法經典模板題
問題描述 農場排水溝網絡:N 條溝渠(N ≤ 200),M 個交叉點(M ≤ 200)。1 號為池塘(源),M 號為溪流(匯)。每條溝渠單向,有最大流量 Ci。
C/C++ 進階專題:關聯容器、字符串、算法、Lambda、GPU 編程實戰
一、關聯容器:multimap、multiset、bitset multiset:有序可重複集合 #include #include using name
LeetCode 34. 在排序陣列中查找元素的第一個和最後一個位置
LeetCode 34 Search for a Range 完整解題報告:二分查找與雙指針雙重解法 給定一個升序整數陣列 nums 和目標值 target,找
Protobuf C++ 傳輸含空字元(\0) 位元組陣列的正確姿勢
解決 Protobuf C++ 序列化含 \0 位元組陣列被截斷問題 Protocol Buffers C++ 實作將 bytes 型別映射為 std::str
STL adjacent_difference 同源同 destination 安全性驗證與原理分析
深入解析 adjacent_difference:輸入輸出同容器的安全性保證 std::adjacent_difference 是 STL 中常用的數值運算演算
圖像卷積算法純 C++ 實作:從邊緣檢測到銳化的完整濾鏡庫
高效能 2D 卷積運算純演算法實作與多種濾鏡核範例 卷積運算是影像處理核心基礎,應用於模糊、銳化、邊緣檢測、浮雕等效果。本文提供一個無外部依賴、邏輯優化的純 C
C 與 C++ 結構體差異解析:從資料結構到物件導演的演進
深入理解 C 語言結構體、C++ 結構體與 Class 的異同 C++ 從 C 語言演進而來,保留了 struct 關鍵字但大幅擴展其功能。本文系統梳理三者的核
C++ 手寫字符串類 MBuffer:動態緩衝區、操作符重載、子串查找完整實現
設計目標 實現一個類 std::string 的緩衝區管理類 MBuffer,支持動態擴展、追加、查找、子串提取、比較等核心操作,深入理解字符串底層機制。 類
VC++ 實現程式開機自動啟動與取消啟動的註冊表操作
VC++ 程式開機自啟動與取消啟動實作指南 在 Windows 環境下開發 VC++ 應用程式時,常需要實現「開機自動啟動」功能。這通常透過修改系統註冊表的 R
VC++ 最小化到系統托盤與恢復:完整實現指南
核心原理 「最小化到托盤」本質上是:隱藏主窗口 + 在托盤區創建圖標 + 處理圖標消息。恢復則是顯示主窗口 + 刪除托盤圖標。 關鍵 API 與結構 唯一核心
VC++ 屏幕截圖並保存為多種格式:BMP、JPG、PNG、GIF
核心代碼:基於 ATL/MFC CImage 類 CImage 封裝了 GDI+,支持多種圖像格式讀寫,是 VC++ 截圖保存的最佳選擇。 void Capt
VC++ 程序啟動最小化到任務欄:完美解決啟動閃爍問題
問題現象 MFC 應用程序需啟動時直接最小化到任務欄(系統托盤區),不顯示主窗口。常見做法在 InitInstance 中用 ShowWindow(SW_HID
C++ 內存分配全景解析:堆、棧、自由存儲區、全局/靜態區、常量區
五大內存區域劃分 C++ 程序運行時,虛擬地址空間按用途劃分為五大區域,各有不同的分配方式、生命周期與管理機制: 區域典型內容分配/釋放方式生命周期關鍵特點