VC++ 學習筆記(序):公認最強大、最複雜的語言
初識 VC++ 的衝擊 作為 C# 開發者轉向 VC++,感覺像「劍客改用重刀」: **極致效率優先**:手動內存管理、無 GC、指針運算、模板元編程。 **
C++ 指針與 const 完整關係圖解:常量指針 vs 指針常量
核心口訣 「const 修飾誰,誰就是只讀的。」 讀聲明時**從右向左**讀:int const * p → p 是指針,指向 const int。 四種組合
VC++ 字符類型宏解析:TCHAR、WCHAR、LPSTR、LPWSTR、LPCTSTR 完整對照
基礎類型 類型含義大小 charANSI 字符1 字節 wchar_tUnicode 字符2 字節 通用宏(<TCHAR.H>) 宏_UNI
STL vector 成員函數速查表(轉載整理)
vector 常用函數一覽 函數說明 assign(beg,end)區間賦值 assign(n,elem)n 個 elem 賦值 at(idx)帶邊界檢查訪問
ACM 二進制字符串匹配:KMP / string::find 統計子串出現次數
題目大意 給定模式串 A(長度 ≤10)和文本串 B(長度 ≤1000),僅含 0/1。統計 A 在 B 中作為子串出現的次數(可重疊)。 解法一:C++ s
指針知識進階:void 指針、無效指針與空指針詳解
1. void 指針(通用指針) 定義:void* 可指向任意類型對象,表示「無類型指針」。 特性:不能直接解引用(*p 錯誤),不能指針算術(p+1 錯誤)
C++ 智能指針 shared_ptr 入門詳解
為什麼需要 shared_ptr? 裸指針手動管理內存易出錯: 忘記 delete → 內存洩漏。 多次 delete → 未定義行為。 所有權不清 → 懸垂
More Effective C++ 條款 5:警惕用戶定義的類型轉換函數
隱式類型轉換的兩種形式 C++ 編譯器通過以下兩種方式實現用戶定義類型的隱式轉換: 轉換運算符:operator Type(),無返回類型聲明。 單參數構造函
HDU 2844 Coins:多重背包二進制優化求可湊成金額數
問題描述 有 n 種硬幣,第 i 種面值 val[i],數量 num[i]。求能湊出的不同金額數(1..V 之內)。n≤100, V≤100000。 多重背包
LeetCode Symmetric Tree:遞歸與迭代判斷對稱二叉樹
問題描述 給定二叉樹根節點,判斷是否鏡像對稱(即左右子樹互為鏡像)。 方法一:遞歸 定義輔助函數 check(left, right): 兩空 → true
LeetCode Unique Binary Search Trees:卡特蘭數詳解
問題描述 給定 n,求由 1..n 構成的結構不同的二叉搜索樹(BST)數量。n=3 時答案 5。 方法一:DP 遞推(卡特蘭數定義) 以 i 為根,左子樹節
Codeforces Round #235 Div.2 題解:A-E 全題詳解
A. Vanya and Cards 已有 n 張卡片,絕對值 ≤ x。求最少再添加幾張卡片(絕對值 ≤ x)使總和為 0。 答案:ceil(|sum| / x
POJ 3070 Fibonacci:矩陣快速冪求末四位
問題描述 求斐波那契數 F_n 最後 4 位(去前導零,全零輸出 0)。n ≤ 10⁹,多測試用例,以 -1 結束。 矩陣加速遞推 斐波那契遞推:[F_n,