Effective C++ 讀書筆記 Part 1:視 C++ 為語言聯邦、const 審慎使用、初始化優先
條款 1:視 C++ 為語言聯邦 C++ 實際上是四種次語言的聯邦: C:基礎類型、指針、數組、預處理器 Object-Oriented C++:類、封裝、繼
C++ stringstream 避坑指南:正確清空緩衝區的姿勢
常見誤區 stringstream 重用時,僅調用 clear() 或僅調用 str() 都會導致殘留數據污染下一次格式化: clear():只重置流狀態標誌
HDU 2579:周期性消失牆壁迷宮 BFS 最短路
問題建模 r×c 迷宮,. 可通行,# 為牆。**時間為 k 的倍數時,所有牆暫時消失**(可通行)。人**不能原地停留**,每步必須移動到相鄰格子(上下左右)
常用字符串哈希函數大全:SDBM、RS、JS、PJW、ELF、BKDR、DJB、AP 對比
八大經典哈希函數 C 實現 // 通用簽名:輸入以 \0 結尾的 char*,返回 31 位非負整數 typedef unsigned int (*HashFu
C++ 觀察者模式實現:從熱水器報警到秘書通知的完整演示
模式核心 觀察者模式定義對象間**一對多依賴**:主題狀態變化時,自動通知所有觀察者。關鍵在於**解耦**——主題不知觀察者具體類,僅依賴抽象接口。 核心接口
POSIX 線程高級編程:互斥量屬性詳解(類型、協議、優先級上限、健壯性)
互斥量屬性對象生命周期 pthread_mutexattr_t attr; pthread_mutexattr_init(&attr); // 初始化
C/C++ 統計英文句子單詞數:狀態機法(IN/OUT 狀態)
問題定義 輸入一字符串,包含字母、空格 、制表符 \t、換行符 \n。單詞定義為**連續字母序列**,由上述三類分隔符分隔。統計單詞個數。 狀態機模型 兩狀
C++ 指針常量 vs 常量指針:語法陷阱與最佳實踐
聲明語法速查表 聲明含義口訣 int *p;指向 int 的指針指針變量,指向可變 int const int *p; / int const *p;指向
二叉樹遍歷全集:遞歸與非遞歸(前中後層序)C++ 實現詳解
遞歸版本:簡潔直觀 struct Node { Node *left, *right; int val; }; void visit(Node* p) { co
POJ 3613 Cow Relays:K 步最短路 + 矩陣快速冪優化
問題建模 無向連通圖,n 個節點(離散化後),m 條邊。求從 S 到 E **恰好經過 K 條邊**的最短路徑長度。K 可達 10^9,不可逐步 DP。 核心
C++ 冒泡排序與優化版本:從基礎到提前終止策略
基本冒泡排序 核心思想:相鄰元素兩兩比較,逆序則交換,每輪將最大元素「冒泡」到未排序區末尾。 template void Bubble(T a[], int n
ZOJ 1360 Radar Installation:貪心區間覆蓋問題經典解法
問題建模 海岸線為 x 軸,雷達安裝在岸上 (x,0),覆蓋半徑 d。n 個島嶼座標 (x_i, y_i), 0。若某島嶼 d 則無解。否則雷達在 x 軸上的
POJ 1042 Gone Fishing:貪心 + 枚舉釣魚湖泊數的最優策略
問題重述 John 有 h 小時(折合 T = h×12 個 5 分鐘區間)去釣魚。共有 n 個湖泊沿單向公路分佈,從湖 1 出發,可在任意湖結束。湖 i 初始
C++ 單層虛繼承內存佈局深度解析(VC6.0 實測)
實驗代碼與類層次 class A { virtual void aa() {} }; class B : public virtual A { char j[3
C++ 獲取進程中模塊基地址:VirtualQuery 實戰指南
核心結構體:MEMORY_BASIC_INFORMATION Windows API VirtualQuery 用於查詢進程虛擬地址空間中某一頁面區域的信息,其