C++ 學習筆記(九):運算符重載完全指南
運算符重載讓自定義類型擁有內置類型般的直觀語法。本文系統總結全局/成員函數重載、四大只能成員重載的運算符、前後綴 ++/--、流運算符、賦值運算符陷阱及 &am
POJ 2992 Divisors 組合數約數個數計算
求組合數 C(n, k) 的約數個數。n ≤ 500,直接計算組合數會溢出,需利用質因子分解性質:C(n, k) = n! / (k! * (n-k)!)。先篩
UVA 12260 Free Goodies 動態規劃解題詳解
題目大意:有 n 個禮物,每個有價值 x 和體積 y。兩人輪流選,先手可選擇是否拿第一個禮物(由名字首字母 P 決定)。每人最多拿 ceil(m/2) 個禮物(
LeetCode Integer to Roman 解題報告 (Java)
將 1~3999 範圍內的整數轉換為羅馬數字。羅馬數字規則:I=1, V=5, X=10, L=50, C=100, D=500, M=1000;同符號最多連續
POJ 1276 Cash Machine 混合背包解題詳解
經典多重背包變體:現金自動櫃員機擁有 N 種面額鈔票,每種面額 Dk 有 nk 張。給定請求金額 cash,求不超過 cash 的最大可支付金額。cash ≤
C++ Select 模型 TCP 伺服器完整範例
Select 模型是 Windows 下經典的同步 I/O 多路復用方案,適用於連接數較少(< 1024)的 TCP 伺服器。本文提供完整可編譯的單線程 Sel
C++ 通過 NTP 協議校正系統時間
利用 Winsock 連接 NTP 伺服器(如 time.windows.com:123 端口),接收 64 位時間戳(高 32 位秒數,低 32 位分數秒),
C++ 獲取本地網卡適配器資訊完整範例
使用 Windows IP Helper API (IPHLPAPI) 可枚舉所有網卡並獲取詳細屬性:適配器名稱、描述、MAC 地址、IP 地址、子網掩碼、網關
深入淺出 VC++(一):Windows 程式內部運行機制詳解
掌握 Windows 程式內部運行機制是 Win32 開發的基石,亦能加深對 MFC/.NET 封裝層的理解。本文從零手寫一個完整的 Win32 桌面程式,剖析
CodeBlocks "no such file or directory" 編譯錯誤完美解決
在 CodeBlocks 中新增自定義頭文件後,明明已加入專案卻編譯報錯 fatal error: xxx.h: No such file or directo
Windows 註冊表操作實戰:枚舉已安裝程式與修改環境變量
Windows 註冊表存儲繫統與應用程式關鍵配置。本文提供兩個完整 C++ 範例:枚舉 HKEY_LOCAL_MACHINE\SOFTWARE\Microsof
原始 Socket 實現 TCP 端口掃描:非阻塞連接與 select 模型高併發
為什麼不用 CSocket CSocket 封裝了阻塞模式與消息泵,高併發下線程開銷大。原始 Socket + select/WSAEventSelect 可單
MFC CSocket 實現 TCP 端口掃描器:多線程異步掃描與服務識別
架構設計 主線程:UI 交互、IP/端口範圍輸入、結果樹形顯示 工作線程池:每端口一線程(或固定池),調用 CSocket::Connect 服務識別:get
命名管道實現命令輸出捕獲:CreatePipe + CreateProcess 另類方案
區別說明 本文使用**匿名管道**(CreatePipe),而非命名管道(CreateNamedPipe)。匿名管道適合父子進程,命名管道用於任意進程間通信。
多進程重定向輸出實戰:CreateProcess + 匿名管道捕獲控制台程序輸出
場景 GUI 程序啟動控制台子進程,實時捕獲其 stdout/stderr 顯示在界面文本框中。 核心代碼流程 0) { buffer[bytesR
VS MFC 專案鏈接錯誤 LNK2005 解決:nafxcwd.lib 與 LIBCMTD.lib 衝突
錯誤現象 nafxcwd.lib(afxmem.obj) : error LNK2005: void __cdecl operator delete(void
SendMessage 內部機制深度解析:同步調用與消息泵關係
核心結論 同線程調用時,SendMessage 直接呼叫目標窗口的 WindowProc,不經消息隊列,調用棧不返回直到處理完成。 調用棧實證 // 用戶代碼
SQLite C/C++ 完整教程:從安裝到 CRUD 實戰
環境準備 下載 Amalgamation 源碼 (sqlite3.c/h) 直接編入專案 或系統包管理器:apt install libsqlite3-dev