高品質 C++/C 程式設計指南 第 11 章 (下):const 成員函數與效能優化鐵律
11.1.3 const 成員函數:編譯期的只讀契約 任何不修改資料成員的函數,皆應宣告為 const。編譯器將強制檢查: 函數體內嘗試修改資料成員 → 編譯
C++ 入門核心概念:變數、記憶體地址與命名規範
C++ 功能強大但代價高昂 記憶體洩漏、存取違規、野指標……C++ 給你槍也給你彈,腳在自己手上。本章以最精簡篇幅建立基礎,深入掌握需配合專書與實戰時間。 物
C++ 資料型別完整指南:大小、範圍、帶號與型別轉換陷阱
為什麼 C++ 必須宣告型別? BASIC 等動態語言自動推斷,但 C++ 為了編譯期型別安全、精確記憶體佈局、效能可預測,強制程式設計師明確指定: int x
C++ 運算子大全與函數基礎:從算術到類成員存取
常用運算子分類速查 類別運算子範例 算術+ - * /x = y + z; 賦值= += -= *= /= &= |=x += 10; // x = x
C++ 函數規則全攻略:參數、返回值、main() 與陣列
函數設計鐵律 規則說明 參數任意多,返回值至多一個需多返回值用結構體/引用/指標 返回 void 不能回傳數值但可寫 return; 提前離開 宣告有返
C++ 字元陣列深度解析:結束空字元與記憶體視覺化
為什麼 C++ 用字元陣列而非字串型別? C++ 繼承 C 的設計:字串 = char 陣列 + 結束空字元 (Null Terminator)。 char t
C++ 字串操作實戰:C 風格函數與緩衝區安全
C++ 無內建字串型別?借用 C 標準庫 C++ 早期無 std::string,字串以 char[] 表示。標準庫 `` 提供核心操作函數: 函數功能備註
C++ 基礎進階:流程控制語句(goto、continue、break、switch)
goto:被遺棄的「萬能跳轉」 goto 能無條件跳轉至標籤處,語法: bool done = false; startPoint: // do some st
深度探索 C++ 物件模型 (一):從 C 思維轉向 C++ 封裝
Hello World 的進化史:從 C 到 C++ 的思維躍遷 經典笑話描述:同樣印出 Hello World,隨著程式設計師職級提升,代碼從幾行 C 風格膨
深度探索 C++ 物件模型 (二):從簡單模型到 C++ 實作的演進
續接前文筆記,本文梳理 C++ 物件模型從理論模型到實際實作的演進邏輯,重點解析虛函數表機制的空間/時間優化權衡。 閱讀建議:技術書的正確打開方式 讀者史列因
深度探索 C++ 物件模型 (3):多態、結構與類別差異、物件模型設計實戰
多態的代價與機制 多態允許繼承抽象 public 介面後封裝相關型別,代價為額外間接性 (記憶體獲取、型別決策)。C++ 以類別指標/參考支援多態,此風格稱「面
深度探索 C++ 物件模型 (4):建構函式語意與編譯器合成機制
建構函式語意學 本章探討建構函式如何運作,而非單純語法。編譯器在必要時合成 nontrivial default constructor,處理成員初始化、基類鏈
深度探索 C++ 物件模型 (5):複製建構函式與位元級複製陷阱
複製建構函式何時需要 三種情況需以物件內容初始化另一同類別物件: 變數初始化:ClassA b = a; 函式參數傳值:void AddNew(CUser u
深度探索 C++ 物件模型 (6):虛擬繼承、資料成員配置與指向成員指標
虛擬繼承下的類別大小 class X {}; class Y : public virtual X {}; class Z : public virtual X
深度探索 C++ 物件模型 (7):函式語意學與虛函式機制
前言 繼續研讀《深度探索 C++ 物件模型》第四章:函式語意學。C++ 支援三種成員函式:靜態、虛擬、非靜態。各自呼叫方式與作用不同。本章深入剖析編譯器內部如何
C++ Builder 初學問答完整目錄 (1-17 章)
問答系列章節 C++ Builder 初學問與答 (一) — 安裝與環境設定常見問題 C++ Builder 初學問與答 (二) — 表單與元件基本操作 C+