C++ 保護/私有繼承的訪問控制與強制轉換陷阱
繼承方式與訪問屬性轉換表 基類成員public 繼承protected 繼承private 繼承 publicpublicprotectedprivate p
C++ 賦值運算子能否被繼承?深度解析與實測驗證
結論先行 賦值運算子 operator= 不會被繼承。派生類若未顯式聲明,編譯器會隱式生成一個逐成員賦值的版本,而非繼承基類版本。 實驗代碼與現象觀察 #in
深度解析 extern "C":C 調用 C++ 的編譯鏈接機制與實戰陷阱
核心前提 編譯單位:編譯器以單個 .c/.cpp 為單位編譯,不直接編譯頭文件。 extern C 僅被 C++ 編譯器識別,C 編譯器會報錯或忽略。 場
從零手寫 C++ 代碼解析器:詞法分析與語法分析實戰
目標與範圍 實現一個輕量級 C++ 代碼解析器,能從 .h/.cpp 文件中提取: 頭文件依賴(#include) 類定義(class/struct) 函數聲
GCC/G++ 深度使用指南:編譯流程、靜態/動態庫構建、常用選項與環境變量全解析
GCC 與 G++ 的區別與聯繫 特性gccg++ .c 文件視為 C 代碼視為 C++ 代碼 .cpp/.cc/.cxx 文件視為 C++ 代碼視為 C++
C++11 多線程實戰:演唱會入場檢票模擬——thread、mutex、condition_variable 與隨機數
背景:C++11 並發庫的里程碑意義 隨著多核 CPU 普及,高性能服務端、科學計算、遊戲引擎對並發編程提出硬性需求。C++11 標準化引入 <threa
C++ 實現所有頂點對最短路徑(Floyd-Warshall 算法完整解析)
問題定義 給定一個帶權有向圖 G = (V, E),|V| = n,權重可為負但無負權環。求每一對頂點 (i, j) 之間的最短路徑長度。 本文實現經典的 Fl
從零構建工業級跨平台 C/C++ 插件框架(上):架構設計與二進制相容性
前言:為什麼需要插件架構? 插件機制是構建「動態演進系統」的基石。Eclipse IDE 便是典範:其核心只是一個微型內核,所有功能(UI、Java 支援、Gi
C++ 沉思錄讀書筆記(第 8 章續):擴展表達式樹——求值與三元運算符
承上啟下:功能擴展的兩大需求 上一篇文章構建了能夠打印括號化表達式的 Expr 類體系。本文將在此基礎上實現兩項自然的功能擴展: 表達式求值:計算表達式的數值
C++ 沉思錄讀書筆記(第 8 章):一個經典的面向對象程序范例
前言 《C++ 沉思錄》(C++ Meditations)第 8 章呈現了一個極具教學價值的面向對象設計範例——算術表達式樹的構建與輸出。這個例子淋漓盡致地展示
C++ 沉思錄讀書筆記(第 7 章) - 句柄模式第二部分:分離引用計數的通用實現
上一版本的缺陷 「為了將句柄綁定到類 T 的對象上,必須要新定義一個具有類型為 T 的成員對象的新類」。 每種被管理類型都需定義專用的間接層(如 UPoin
C++ 沉思錄讀書筆記(第 6 章) - 句柄模式第一部分:引用計數與共享所有權
代理類的缺陷 「創建代理會拷貝所代理的對象,如何避免這些拷貝?」 代理類每次拷貝都深拷貝被代理對象,開銷大。需引入共享所有權機制。 句柄類設計 句柄類類似
C++ 沉思錄讀書筆記(第 5 章) - 代理類模式解決異構容器與動態拷貝
問題場景 異構容器: 如何設計容器存儲「類型不同但相關」的對象? 動態拷貝: 如何拷貝「編譯期類型未知」的對象? 方案一:指針容器 + 繼承(有缺陷)
C++ 沉思錄讀書筆記(第 4 章) - 唯讀成員訪問與構造析構最佳實踐
限制用戶只能讀不能寫類數據成員的兩種方法 方法一:const 引用成員 class Vector { public: const int& leng
C++ 沉思錄讀書筆記(第 1-3 章) - 抽象、類設計與語言哲學
核心觀點摘錄 1. 類是 C++ 的核心概念 「C++ 的核心概念是類」。類為狀態信息提供了理想存放位置,解決了 C 語言方案缺乏合適位置存放輔助狀態、導致
C++ 面試題精選:面向對象三大特性與核心機制深度解析
面向對象三大支柱 特性核心含義C++ 實現機制 封裝隱藏內部實現,暴露受控介面private/protected/public、友元、Pimpl 惯用法 繼承
有向無環圖拓撲排序 C++ 實作 - DFS 時間戳法與 Kahn 算法
什麼是拓撲排序? 對有向無環圖(DAG)的頂點進行線性排序,使得對於任意邊 u → v,u 在排序中出現在 v 之前。DAG 至少存在一個拓撲序,可能有多個。
無向圖深度優先搜索 DFS C++ 實作 - 遞歸與棧兩種方式
DFS 核心思想 從起始頂點出發,沿一條路走到底,無路可走時回溯,繼續探索未訪問的分支。天然適合遞歸實現,也可用顯式棧模擬。 適用場景 拓撲排序(有向無環圖