最近我越来越多地参与C /C++ 编程,并注意到人们在代码中命名数据类型的方式的趋势。
我总是看到诸如 p、m、ui 等前缀。
例如:mPlayerNames、pData、uiNumResets
我想我明白了,但只是为了确认:这些前缀是否表示数据类型?即:
mData -> Data pData 的矩阵(数组)
-> 指向数据
uiData -> unsigned int Data
等...
它是否正确?
最近我越来越多地参与C /C++ 编程,并注意到人们在代码中命名数据类型的方式的趋势。
我总是看到诸如 p、m、ui 等前缀。
例如:mPlayerNames、pData、uiNumResets
我想我明白了,但只是为了确认:这些前缀是否表示数据类型?即:
mData -> Data pData 的矩阵(数组)
-> 指向数据
uiData -> unsigned int Data
等...
它是否正确?
m - member of a class
p - pointer
ui - unsigned int
lpsz - long pointer string zero terminated (whew!)
我个人只使用'm'和'p'。在我看来,其余的只是滑稽的。它使代码非常难以破译。
我对这个人的代码进行了维护工作,他在代码中的每个变量、函数和其他标识符上使用了半匈牙利符号类型 id 前缀。他大量使用 $ 符号来分隔单词。很难控制住杀气腾腾的怒火。
这通常被称为匈牙利符号。
前缀没有什么铁定的——它们可能因语言、平台和编程商店而异。
是的,您的解释可能是正确的 - p 和 ui 很常见,您必须检查 m 是否真的在您的环境中指代 Matrix,尽管它可能指代一个类成员。
是的,你在某种程度上是正确的
此链接为您提供有关匈牙利符号的更多详细信息 http://en.wikipedia.org/wiki/Hungarian_notation