匈牙利命名法在變數名稱前加上前綴,標示資料類型、用途與範圍。多前綴組合順序:**成員標記 → 指標 → 簡單類型 → 其他**。
範例:m_lpszStr 表示「指向以 null 結尾字串的長指標成員變數」。
| 前綴 | 含義 | 對應類型 |
|---|---|---|
a | Array | 陣列 |
b | Boolean | 布林值 |
by | Byte | 位元組 |
c | Char | 有號字元 |
cb | Char Byte | 無號字元(較少用) |
cr | ColorRef | 顏色參考值 |
cx, cy | 座標差 | 短整數 |
dw | Double Word | 雙字(32 位元無號) |
fn | Function | 函數指標 |
h | Handle | 控制代碼 |
i | Integer | 整數 |
m_ | Member | 類別成員變數 |
n | Short Integer | 短整數 |
np | Near Pointer | 近指標 |
p | Pointer | 指標 |
lp | Long Pointer | 長指標 |
s | String | 字串 |
sz | Zero-terminated String | 以 '\0' 結尾字串 |
tm | Text | 文字內容 |
w | Word | 字(16 位元無號) |
x, y | Coordinate | 座標值 |
theApp)m_(如 m_wndStatusBar)wnd 表示視窗),非標準匈牙利命名法一部分雖然匈牙利命名法在 Windows API、MFC、舊版 C++Builder 專案中常見,但現代 C++(C++11 以降)傾向:
userCount 優於 nCountauto、強型別減少前綴需求