ACM 成對字串問題 C++ 解法:偶數次出現且配對無奇數干擾
問題重述 判斷字串是否為「成對字串」: 所有字符出現次數為偶數。 任意一對相同字符之間,**不存在出現奇數次的字符**。 輸入:K 組測試,每組一行字串(長
C/C++ 核心知識點精華(五):mutable 與 volatile 深度解析
mutable:突破 const 的受控逃生門 語法與語義 僅能修飾**類的非靜態資料成員**。 該成員**永遠可修改**,即使在 const 物件、cons
C/C++ 宏定義三大鐵律:參數括號、子表達式括號、整體括號
為何需要嚴格括號? 巨集展開為**純文本替換**,無型別檢查、無運算子優先級感知。缺少括號會導致邏輯錯誤、副作用多次執行、甚至編譯失敗。 三大鐵律 每個參數
C/C++ 核心知識點精華(三):const 完整語法語義、函式參數/返回值/成員函式/資料成員/重載決議
const 綁定規則:右結合原則 讀法:從變量名向左讀,* 為「指向」,const 修飾左側類型。 const int a; // a 是 co
C/C++ 核心知識點精華(二):堆疊與堆、指標類型全解析、經典指標錯誤與修正
堆疊 vs 堆:本質區別 特性堆疊堆 分配方式編譯期/函式入口自動運行期手動 new/malloc 釋放方式函式返回自動手動 delete/free 大小限制
C/C++ 核心知識點精華(一):變量存儲、聲明定義、連結屬性與求值順序
1. 變量存儲區劃分 類別存儲區生命週期範例 區域變量堆疊塊進入建立、退出銷毀void f(){ int a; } 全域/靜態變量靜態區程式啟動建立、結束銷毀
C/C++ 嵌入式腳本引擎 MLu 入門:隱式/顯式載入完整範例
MLu 簡介 MLu 是 Lu 腳本語言的 C/C++ 宿主介面庫,提供: 自動載入 Lu 核心庫 (lu32.dll) 與擴展庫 模組化編譯/執行(支援 C
C++ 快速排序實作解析(二):Lomuto 分區方案與代碼對比
演算法核心:Lomuto Partition 單指標掃描,維護 [left, i] 為 <= pivot 區域,[i+1, j-1] 為 > piv
C++ 快速排序實作解析(一):Hoare 分區方案與完整可測試代碼
演算法核心:Hoare Partition 雙指標從兩端向中間掃描,以首元素為基準,交換而非覆蓋,單趟掃描完成分區。 void quickSortHoare(
C++ iostream 標準庫深度解析(二):字串流、流狀態進階、自定義型別輸出輸入多載
字串流:記憶體中的流操作 C 風格字串流 #include <strstream> // 舊標準,C++98 棄用,C++26 移除 // ist
C++ iostream 標準庫深度解析(一):流體系架構、檔案流與格式化控制
iostream 體系總覽 C++ I/O 採用面向物件多層繼承設計,核心類別關係如下: ios_base (格式/狀態基底) │ ├─ ios
C++ 局部類與巢狀類深度對比:定義、存取規則、用途與代碼實戰
核心差異速覽 維度局部類巢狀類 定義位置函式/區塊內部類定義內部 主要目的實作細節封裝、型別轉換適配器隱藏類名、表達「擁有」關係、減少全域符號 可見範圍僅定義
C++ std::map 完整使用指南:從基本操作到效能調優
核心特性速覽 鍵值對容器,鍵唯一且有序(紅黑樹實現)。 查找、插入、刪除複雜度均為 O(log N)。 迭代器遍歷順序遵循鍵的 operator< 排序
C++ 建構子與解構子的底層機制:從組合語言看 RAII 與異常安全
程式碼結構回顧 // a.h #pragma once #include <iostream> void test(); // a.cpp cla
C++ static 關鍵字深度解析:靜態成員、靜態函式與最佳實踐
什麼是 static? static 是 C++ 中控制儲存期與可見性的修飾符,根據使用位置不同,語義有所差異: 區域變量:延長生命週期至程式結束,保持值不隨
C++ 與 ObjectARX 開發入門:從環境配置到 Hello World
開發環境與專案設定 本文以 Visual Studio 2008 + ObjectARX 2010 + AutoCAD 2010 為例,示範建立一個最小可執行的
C++ 運行時強制對象唯讀:利用 mprotect 實現寫入保護
前言:為何需要運行時唯讀保護? 在大型 C++ 專案中,常遇到「不知何處修改了某個對象」的棘手問題。除動態調試下數據斷點外,更根治的做法是在運行期將目標對象所在