C++11 shared_ptr 完全指南:共享所有權、控制塊、make_shared、線程安全與避坑指南
std::shared_ptr 是 C++11 實現共享所有權的智能指針,通過引用計數機制自動管理動態對象生命週期。多個 shared_ptr 可指向同一對象,
C++11 unique_ptr 完全指南:獨占所有權、移動語義、自定義刪除器與容器應用
std::unique_ptr 是 C++11 引入的獨占式智能指針,取代已棄用的 auto_ptr。它嚴格遵循單一所有權原則:同一時刻只能有一個 unique
C++ 泛型編程進階:類模板實例化、容器適配器、仿函數與特化全解析
接續基礎篇,本文深入探討類模板實例化機制、成員函數特性、非類型參數實現容器適配器、STL 六大組件中的配接器與仿函數、模板特化(全特化/偏特化)及分離編譯方案。
C++11 weak_ptr 詳解:弱引用機制、循環引用解決與實戰代碼
C++11 智能指針家族中,std::weak_ptr 是一種特殊的非擁有式觀察者。它不增加引用計數,不參與對象生命週期管理,專門用於解決 shared_ptr
C++ 泛型編程核心:模板函數、類模板、特化與編譯模型深度解析
泛型編程是 C++ 庫開發的基石,STL 容器、迭代器、算法皆建於此。本文系統梳理模板函數、類模板、非類型參數、模板特化、編譯模型等核心知識點,並釐清常見誤區。
Lua 與 C++ 交互實戰:從環境配置到數據傳遞全流程
上一篇介紹了 Lua C API 基礎,本文將通過完整的 Visual Studio 專案實戰,演示如何搭建 C++ 嵌入 Lua 環境,實現腳本加載執行、雙向
C++11 實現半同步半異步線程池:架構設計與代碼詳解
在高併發場景下,若採用「一請求一線程」的傳統模式,頻繁創建銷毀線程會耗盡系統資源,上下文切換開銷也極大。線程池技術通過預創建固定數量線程、任務完成後重用線程,完
C++ 多線程程式設計實戰:從 pthread 基礎到鎖機制與線程協作
環境與編譯 OS:Linux(Raspbian/Ubuntu/CentOS 等),Windows MinGW 亦可。 頭文件:<pthr
圖的遍歷與最小生成樹:DFS、BFS、Kruskal、Prim 完整 C++ 實現
圖的抽象基類與鄰接矩陣實現 // Graph.h:抽象介面 template class Graph { virtual void depth_fir
C++ 模板類友元函式完全指南:三種宣告模式與連結錯誤解決方案
問題現場 template class Mat { friend Mat operator+(Mat& m, T num); // 連結錯誤:LNK2
圖論核心演算法實現:拓撲排序、關鍵路徑、最短路徑(Dijkstra)
圖的鄰接矩陣存儲結構 template class GraphMtx : public Graph { V* vertices; // 頂點
C++ 模板階段性總結:從實例化機制到元編程核心技法
核心認知:模板非類別/函式,而是「模具」 template class AutoList { ... }; // AutoList 是模板,非類型 Auto
C++ std::string 核心操作完全指南:15 個高頻場景實戰
建立與賦值 #include using namespace std; string s1(chenyufeng, 3); // che:複製前 n 字
Effective Modern C++ 條款 14:noexcept——優化與介面契約的雙重價值
從 C++98 到 C++11:異常規範的簡化 C++98 throw() 異常規範複雜、脆弱、編譯器難以優化。C++11 推出 noexcept:非黑即白——
C++ String 類手寫實現:從深拷貝到寫時拷貝(COW)進階優化
深拷貝版本:經典實現 自行管理動態字元陣列,實現建構、複製、指派、析構、擴容、插入、追加等核心操作: class String { friend std