C++ 實現不可被複製的類別:刪除拷貝建構子與賦值運算子
C++ 預設會自動產生 public 的拷貝建構子與賦值運算子,導致類別具備可複製語意。若需禁止複製,經典做法是將兩者宣告為 private 且不提供定義,或繼
C++ 物件記憶體佈局與多態實現深度探索(一):普通類別與繼承佈局
本系列文章透過觀察物件記憶體佈局、追蹤組合語言碼,分析 C++ 物件模型、虛函數執行機制、虛擬繼承等核心主題。參考資料為 Lippman《深度探索 C++ 物件
C++ 物件記憶體佈局與多態實現深度探索(二):虛函數表機制
當類別包含虛函數時,編譯器會為其產生虛函數表(vtable),並在每個物件開頭插入虛表指標(vptr),指向該類別的虛表。虛表實質為函數指標陣列,儲存虛函數的實
C++ 實現不可被繼承的類:封鎖繼承的技巧與實作
C# 與 Java 皆提供關鍵字(如 sealed、final)直接宣告類別不可被繼承,C++ 標準雖無內建機制,但可利用「子類建構子會自動呼叫父類建構子/解構
控制台聊天程式範例:Winsock 多執行緒實作
網路上發現的控制台聊天程式範例,經修改整理收藏。採用 Winsock API、多執行緒處理收發訊息。 伺服器端程式碼 // 2009-06-28 #prag
Qt學習之路(1):前言——C++ GUI 庫選擇與 Qt 優勢
C++ GUI 非標準庫一部分,主流選擇:wxWidgets、gtkmm、Qt。 三大庫比較 wxWidgets:標準 C++,語法似 MFC,MFC 程式
Qt學習之路(2):Hello World 專案建立與執行
任何技術學習首課:Hello World。Qt 名稱由來:Q 為所有類別前綴(發明者覺得在 Emacs 字體中很漂亮),t 代表 toolkit(靈感來自 Xt
Qt學習之路(5):元件佈局 Layout 管理器完整教學
絕對定位需手動處理視窗縮放回應,Qt 提供 佈局管理器 自動調整,類似 Swing 但更簡潔。 三大核心 Layout QHBoxLayout:水平左至右
Qt學習之路(6):Qt API 文件使用指南
Qt 文件編寫良好、十分健全,查閱文件是開發必修課。Qt Creator 左側 Help** 模式即為文件入口;或執行安裝目錄 bin/assistant.ex
Qt學習之路(7):建立對話框實作上篇 FindDialog 類別設計
以實作「尋找對話框」學習 QDialog 開發。每章可執行、可見成果,避免冗長範例打擊學習動力。 專案建立 Qt Gui Application Bas
Qt學習之路(8):建立對話框實作下篇 FindDialog 完整程式碼
承接上章,FindDialog 完整實作原始碼與解析。 FindDialog.cpp 核心程式碼 #include <QtGui> #incl
Qt學習之路(10):Meta-Object 系統與 moc 機制
Qt 使用自有預編譯器擴展 C++,提供 Meta-Object 系統,支援兩大核心功能: 信號槽:獨立模組間零耦合連接 內省:執行期獲取類別中繼資訊(類別名
Qt學習之路(11):主視窗 QMainWindow 架構解析
Qt GUI 程式常用頂層視窗 QMainWindow。Qt Creator 新建專案選 QMainWindow 為基底類別。 QMainWindow