Effective C++ 條款 11:在 operator= 中處理自我賦值
什麼是自我賦值? 自我賦值發生在對象被賦值給自己時,例如: Widget w; w = w; // 顯式自我賦值 a[i] = a[j]; // 若 i ==
Effective C++ 條款 09:構造與析構期間絕不調用虛函數
核心觀點 在構造函數和析構函數中調用虛函數是未定義行為的來源。此時對象的動態類型尚未完全構建或已部分銷毀,虛函數調用不會下降到派生類,而是綁定到當前構造/析構層
Effective C++ 條款 08:絕不讓異常逃離析構函數
核心觀點 析構函數絕不能拋出異常。若析構函數拋出異常,程序將面臨「過早終止」或「未定義行為」的風險。這是 C++ 與 Java/C# 等語言的重大差異之一。
FFRPC Python 客戶端庫:實現 Python 與 C++ 服務器的高效通信
項目背景 FFRPC 是一款高性能 C++ 異步 RPC 框架,廣泛應用於遊戲服務器開發中。在微服務架構下,Gate Server、Game Server、DB
C++ 15 個晦澀特性(上):從方括號到 Placement New
承接上文,本文詳細講解前 5 個晦澀特性,附帶編譯器驗證代碼與避坑指南。 1. 方括號的真正含義 a[b] 定義為 *(a + b)。指標與整數相加交換律成立
C++11 雙重檢查鎖定模式(DCLP)正确实现
雙重檢查鎖定模式(Double-Checked Locking Pattern, DCLP)是單例模式在多線程環境下的經典優化。C++11 前無標準可移植實現,
C++ 嵌入 MATLAB Engine 完整配置指南
在 C++ 中調用 MATLAB 算法庫(MATLAB Engine)可充分利用其強大的數學計算與視覺化能力。本文記錄 Visual Studio 2012 x
POJ 2014 Flow Layout 模擬解題詳解
這是一道經典的模擬題,要求將一系列小矩形依序放入一個最大寬度固定的大矩形中。當當前行的累積寬度超過最大寬度時,需換行放置。最終需要輸出排版後的整體寬度與高度。
MFC 子類化控件完全指南:原理、實現與實戰案例
什麼是子類化? 子類化 是在消息到達窗口原始窗口過程(WindowProc)之前,插入一個新的窗口過程進行預處理。本質上是攔截、過濾、擴展窗口消息處理邏輯的技術
Codeforces Goodbye 2013 題解:A~C 三題貪心與模擬
A. Candles (500pt) a 根蠟燭,b 根燭頭可合成一根新燭。求最多能燃燒多少根。 貪心:只要擁有 ≥ b 根燭頭,立即合成新燭燃燒,循環直到不足
C++ 經典線程同步:事件 Event 詳解(八)
前言 上一篇介紹了關鍵段解決互斥問題,但因其「線程所有權」特性,僅能用於互斥,無法實現線程間的同步(等待/通知)。本文深入講解 Windows 內核對象——事件
C/C++ 嵌入 Lua:動態物件(Userdata)生命週期與綁定實踐
核心概念:Userdata userdata 是 Lua 中唯一能承載任意 C/C++ 物件指標的型別。分兩種: Full Userdata:Lua 分配
POJ 3693 Maximum repetition substring:後綴數組+LCP+倍增求最大重複子串
問題定義 字符串的重複數 R:能將其分割為 R 個相同連續子串的最大值。如 ababab → 3,ababa → 1。 給定長度 ≤ 100,000 的小寫字母