C++ explicit 關鍵字深度解析:阻止隱式轉換的守門人
explicit 是 C++ 中專門修飾**單參數建構函數**(含預設參數使實際可單參數呼叫)的關鍵字,核心作用是**禁止隱式型別轉換**,強制呼叫端以顯式語法
C/C++ 程式碼規範大全:命名、註解、格式與工程化實踐
良好的程式碼規範是團隊協作基石,降低認知負擔、減少缺陷、利於維護。本文彙整業界通用的 C/C++ 規範精華,涵蓋基礎要求、可讀性、結構化、正確性、可重用性五大維
二叉樹非遞迴遍歷完整指南:前中後序與層序實作
遞迴雖優雅但受限於呼叫堆疊深度,非遞迴遍歷是系統級開發必備技能。本文系統整理四種遍歷的堆疊/佇列實作、無輔助結構回溯法、以及樹深計算,附完整 C 程式碼可直接編
C 語言程式效能優化:10 大實戰技巧全解析
撰寫高效能的 C 程式不僅關乎演算法,更在於對編譯器行為、記憶體模型與 CPU 架構的深度理解。本文整理 10 個經驗法則,助你避開常見效能陷阱。 1. 避免
MFC 專案中找不到 OnInitDialog 的解決方案
在 MFC 專案開發時,若在類向導的事件列表中找不到 WM_INITDIALOG(對應 OnInitDialog),別慌張,這通常是因為對話框類未正確繼承或訊息
C++Builder 文件與目錄操作完整指南:判斷、選擇、遞歸建立/刪除與常用 API
C++Builder 文件與目錄操作實務 C++Builder (VCL) 提供豐富的檔案系統操作函數,並可直接呼叫 Windows API 實現進階功能。
C++ 右值對函數參數傳遞的影響:非 const 引用無法綁定臨時物件
右值對傳參的影響 C++ 中非 const 引用無法綁定右值(臨時物件),這與 Java/C# 行為不同。 編譯錯誤示例 class T { public:
C/C++ 位域使用注意事項:有號位域的陷阱與記憶體佈局
C/C++ 位域注意事項 位域允許在結構體中指定成員佔用的位元數,但存在微妙的可移植性與行為陷阱。 記憶體佈局與端序 struct BitField {
Effective C++ 讀書筆記:延後變數定義、最小化轉型(條款 26-27)
條款 26:盡可能延後變數定義式出現的時間 定義帶建構/解構函式的變數會產生成本。若變數最終未被使用(如提早 return 或拋出異常),這成本白白浪費。 範
Effective C++ 讀書筆記:撰寫不拋異常的 swap 函數(條款 25)
條款 25:考慮寫出一個不拋異常的 swap 函數 swap 是異常安全編程支柱、處理自我賦值常用機制。標準庫提供通用 std::swap(三步複製),對某些類
Effective C++ 讀書筆記:優先用非成員非友元函數、需型別轉換時用非成員函數(條款 23-24)
條款 23:寧以 non-member、non-friend 替換 member 函數 面向物件建議「資料與操作綁定」,但非成員非友元函數能提供更強封裝性。
Effective C++ 讀書筆記:勿回傳區域物件 reference、資料成員必須私有(條款 21-22)
條款 21:必須返回物件時,別妄想返回其 reference 為避免傳值成本,嘗試回傳 reference 是常見錯誤。reference 必須綁定已存在物件,
Effective C++ 讀書筆記:類別設計即型別設計、傳參優先用 const reference(條款 19-20)
條款 19:設計 class 猶如設計 type C++ 讓你定義新型別。類別設計者即型別設計者,掌控:運算子多載、記憶體管理、初始化/終結、型別轉換、存取控制
Effective C++ 讀書筆記:設計易用難誤的介面與 shared_ptr 進階應用(條款 18)
條款 18:讓介面容易被正確使用,不易被誤用 良好介面設計核心:若代碼編譯通過,即做使用者預期之事;若非預期行為,應編譯失敗。 1. 以強型別防止參數順序/值
Effective C++ 讀書筆記:new/delete 形式對應與智慧指標異常安全建構(條款 16-17)
條款 16:成對使用 new 和 delete 時要採取相同形式 new 與 delete 必須形式對應: new T → delete ptr new T[
Effective C++ 讀書筆記:資源管理類別的複製行為與原始資源存取(條款 14-15)
條款 14:在資源管理類中小心 copying 行為 RAII 類別被複製時,應如何處理所管理的資源?視資源特性而定,主要有四種策略: 1. 禁止複製 若複製
Effective C++ 讀書筆記:複製物件勿遺漏任何成分、以物件管理資源(條款 12-13)
條款 12:複製物件勿忘其每一個成分 編譯器生成的複製函數會自動複製所有成員。但手寫複製函數時,必須確保: 複製所有本地資料成員。 呼叫所有基底類別對應的複製