Effective C++ 條款 14:資源管理類拷貝行為的深度抉擇
背景:自定義資源管理類 條款 13 介紹了 RAII(資源獲取即初始化),標準庫提供 auto_ptr 和 tr1::shared_ptr 管理堆內存。但並非所
C++ 標頭文件系列:深度解析 <streambuf> 核心機制
簡介 <streambuf> 定義了 basic_streambuf 模板類,作為所有流緩衝區的抽象基類。它控制兩個獨立的字符序列:輸入序列與輸出序
C++11 Lambda 表達式詳解:從語法糖到函數式編程實戰
前言:什麼是 Lambda 表達式? C++11 引入了 Lambda 表達式,這是一項極具影響力的特性。對於熟悉 Objective-C Blocks 或 S
C 語言實現 AES-256 加密演算法完整指南:原理、代碼結構與工程落地
專案結構 aes256.h // 公開介面 aes256.c // 核心實現(S-box、金鑰擴展、輪函數、ECB 模式) demo.c
C++ 建構函式中使用 new 的關鍵注意事項:資源管理、拷貝語意與現代替代方案
核心鐵律 new / new[] 必須與 delete / delete[] 成對:建構函式用 new T[n],解構函式必須用 delete[] ptr;混
C++ Lambda 表達式編譯器實現原理:從語法糖到函式物件
Lambda 是什麼? C++11 引入的匿名函式物件語法糖。編譯器將其降級為帶有 operator() 的類別(仿函式),捕獲列表轉為資料成員,參數列表轉為
C++ 函式樣板完整指南:宣告、重載、顯式具體化/實例化與實參推導
基礎語法 template <typename T> // 或 class T void Swap(T& a, T& b) { T tm
C/C++ 函式參數傳遞機制深度解析:值傳遞、指標傳遞、參考傳遞與移動語義
三種基本模式對比 模式語法記憶體行為形參修改是否影響實參典型適用場景 值傳遞void f(T x)堆疊分配副本,呼叫複製建構函式❌ 不影響(操作副本)小
C++ 三種繼承完整對比:public / protected / private 繼承的語意、可見性與設計抉擇
成員可見性變化總表 繼承方式基類 public基類 protected基類 private外部能否透過衍生物件存取基類 public publicpub
C/C++ 靜態成員與 this 指標深度解析:類別級資源與物件身份
靜態成員:屬於類別,不屬於物件 靜態資料成員 宣告在類別內,定義在類別外:class Foo { static int count; }; int Foo:
C++11 右值引用與移動語義深度解析:從拷貝到竊取的效能革命
核心動機 大量臨時物件(函式返回、運算子結果)觸發深拷貝極其浪費。移動語義允許竊取資源所有權(指標、控制代碼、容器內部緩衝區),僅執行幾次指標賦值,將 O(n)
C++ string 轉 int 完全指南:atoi、stoi、stringstream 與現代最佳實踐
方法對比表 函式/類別標頭檔C++ 版本錯誤處理備註 atoi<cstdlib>C++98無(錯誤返回 0,無法區分 0 與無效輸入)需 c
C++ 標頭檔速覽:<algorithm> 標準演算法庫完整分類指南
設計哲學 <algorithm> 以迭代器為介面,演算法與容器解耦:任何提供對應迭代器類別的資料結構(陣列、vector、list、自訂容器)皆可直
C/C++ 宏定義(#define)深度解析:副作用、計算陷阱與最佳實踐
宏的本質 文本替換,發生在前置處理階段,無型別檢查、無作用域、無編譯期語意分析。編譯器看到的是展開後的原始碼。 經典計算陷阱:參數副作用 #define M
C 語言資料結構基石:鏈結串列、堆疊、佇列完整實作指南
抽象資料型別(ADT)定義 ADT核心操作特性 List(串列)CreateEmpty, Insert, Delete, Find, PrintList
C++ HLSL 實現 GPU 圖像處理:點運算、卷積濾波與 Shader Model 限制
背景動機 DXVA2 解碼後的影像資料留在 GPU 顯存,若 CopyResource 回系統記憶體交由 CPU 處理,頻寬與延遲極大。解決方案:像素著色器直接