匈牙利命名规则建议变量名称以一个或多个字母开头,这些小写字母用以标识其变量类型,类型标识字母的下一个字母一般采用大写。类型定义使用相同的类型标识符作为前缀,唯一不同的是,类型定义名称一般全部使用大写。
表1 匈牙利命名规则约定
前缀
|
数据类型
|
例子
|
b
|
booLean
|
bIsPresent,bValid
|
by
|
Byte,unsigned char
|
byFlag,byBlock
|
ch
|
char
|
chArray,chText
|
C
|
Class
|
CString,Cmain
|
Cs
|
CString
|
CsName,CsLabel
|
dw
|
DWORD
|
dwFlags
|
h
|
HANDLE
|
hWnd,hDlg,hBrush
|
i
|
int
|
iCount,iNum
|
n
|
unsigned int
|
nMax,nLimit
|
p
|
pointert
|
pszString(指向以NULL结尾的字符串)
|
sz
|
ASCIIstring
|
szName(以NULL结尾的字符串数组)
|
v
|
void
|
vPointer
|
除了匈牙利命名规则使用的前缀外,Windows Application FrameWorks(AFX)和MFC对象类使用的其它一些前缀在表2中列出。
表2 AFX和MFC前缀
前缀
|
数据类型
|
例子
|
C
|
类和结构
|
CDocument,CString
|
m_
|
类成员变量
|
m_nVal,m_bFlag
|
Afx
|
应用程序框架公共函数
|
AfxGetMainWnd()
|
Afx
|
应用程序框架公共变量
|
afxDump
|
_Afx
|
应用程序框架内部函数
|
_AfxGetPtrFromFarPtr()
|
_afx
|
应用程序框架内部变量
|
_afxExLink
|
AFX_
|
应用程序框架内部结构
|
AFX_CMDHANDLER
|
AFX_ID
|
应用程序框架内部标识符
|
AFX_ID_PREVIEW_PRINT
|