基於 TCP 長連結的簡易 Client/Server 實作(Linux select 模型)
流式長連結架構設計與 Linux select 多路複用實作 在區域網路環境,頻繁建立/銷毀 Socket 開銷極大。採用長連結(持久連線)配合長度前綴協議,可
C/C++ 主函數簽名規範:void main() 是錯誤的
為什麼 void main() 從未存在於 C/C++ 標準中 無數教材、網路範例甚至書籍使用 void main(),但 C++ 之父 Bjarne Stro
C/C++ 輸入緩衝區處理:為什麼 fflush(stdin) 是錯誤的
fflush(stdin):廣泛使用但標準未定義的危險做法 許多教材與開發者習慣在 scanf 後呼叫 fflush(stdin) 清空輸入緩衝區,解決非數字輸
C 語言誤區:malloc 返回值不需強制轉型
C 語言中 malloc 返回值為何不該強制轉型 在 C++ 中,malloc 返回 void* 必須強制轉型才能賦值給具體指標類型;但在 C 語言中,這不僅多
C/C++ 經典誤區:用 char 接收 getchar/fgetc 返回值
為什麼 char c = getchar(); 是危險的錯誤 無數初學者(甚至部分教材)習慣用 char 變數接收 getchar()、fgetc() 等函式的
C++ 常見誤區:錯誤檢查 new 運算子返回值
C++ 核心誤區:別再檢查 new 的返回值了 許多從 C 轉向 C++ 的開發者習慣在記憶體配置後檢查指標是否為空值(nullptr),這在 malloc/c
C++ 使用 MFC CFile 類實現文件拷貝完整範例
C++ 文件拷貝實作:基於 MFC CFile 類的完整範例 在 Windows 平台下進行文件操作時,MFC 的 CFile 類提供了方便的封裝。本文示範如何
C++ Builder 初級調試技術實戰指南
為什麼需要調試器 初學者常用 ShowMessage(xxx) 觀察程式流程,但在 BCB 事件驅動、元件眾多的環境下,程式流程跳躍複雜,如同組合語言的旗標暫存
C++ 實現爆炸振動特效:基於 CRT 控制器的視角偏移技術
效果原理 在遊戲中,爆炸伴隨畫面輕微抖動可增強沉浸感。本文實現通過修改 VGA 12H 模式下 CRT 控制器的起始顯示地址,實現整屏畫面平移,從而產生振動效果
C++ 類設計規範:頭文件/源文件分離與防止重複包含(#ifndef 守衛)
標準類文件組織 頭文件 (.h):類定義、成員聲明。 源文件 (.cpp):成員函數實現,#include ClassName.h。 主程序 (main.cp
C++ 實現窗口置頂/取消置頂:SetWindowPos 與 HWND_TOPMOST
核心 API // 置頂 SetWindowPos(&wndTopMost, rc.left, rc.top, rc.Width(), rc.Height(),
C++ 函數調用約定匯編分析:cdecl 與 stdcall 參數傳遞、棧平衡、返回值
測試代碼結構 struct tagTest { int n1; long n2; DWORD n3; }; long funtest1(tagTest p1,
C++ 四則運算表達式求值模板:支持括號、流輸入、泛型返回類型
功能特性 支持 + - * / 四則運算與括號 ()。 單一模板函數接口:int GetExpValue(_Tstream& istrin, _T&a
C++ 實現最大公約數與最小公倍數計算(歐幾里得算法)
1. 最大公約數 (GCD) - 輾轉相除法 #include using namespace std; int gcd(int a, int b) {
C++ 風格字符串流操作:ostringstream、istringstream、stringstream 完全指南
C++ 流風格字符串處理 C++ 引入 <sstream> 提供三大字符串流類,統一使用 <<(輸出/插入)和 >>(輸入/
Windows 多線程編程示例:互斥量同步售票模擬
MultiThread.cpp:雙線程競態條件演示 使用 Windows API CreateThread、CreateMutex、WaitForSingleO
Linux 下 Qt 多線程編程:線程類、同步機制、自定義事件與定時器替代方案
Qt 多線程支持概覽 Qt 從 2.2 版本提供跨平台多線程支持,三大支柱: 平台無關的線程類(QThread 等)。 線程安全的事件投遞(postEvent
C++ 學習筆記(三):繼承與派生完整指南
繼承:代碼復用的核心機制 繼承允許基於現有類(基類/父類)定義新類(派生類/子類),擴展或限制功能,實現代碼復用。 1. 繼承形式 單繼承 class Der