2

最近我越来越多地参与C /C++ 编程,并注意到人们在代码中命名数据类型的方式的趋势。

我总是看到诸如 p、m、ui 等前缀。

例如:mPlayerNames、pData、uiNumResets

我想我明白了,但只是为了确认:这些前缀是否表示数据类型?即:
mData -> Data pData 的矩阵(数组)
-> 指向数据
uiData -> unsigned int Data
等...

它是否正确?

4

3 回答 3

3
m - member of a class
p - pointer
ui - unsigned int
lpsz - long pointer string zero terminated (whew!)

我个人只使用'm'和'p'。在我看来,其余的只是滑稽的。它使代码非常难以破译。

我对这个人的代码进行了维护工作,他在代码中的每个变量、函数和其他标识符上使用了半匈牙利符号类型 id 前缀。他大量使用 $ 符号来分隔单词。很难控制住杀气腾腾的怒火。

于 2010-06-25T04:21:35.763 回答
1

这通常被称为匈牙利符号

前缀没有什么铁定的——它们可能因语言、平台和编程商店而异。

是的,您的解释可能是正确的 - p 和 ui 很常见,您必须检查 m 是否真的在您的环境中指代 Matrix,尽管它可能指代一个类成员。

于 2010-06-25T04:23:57.280 回答
0

是的,你在某种程度上是正确的

此链接为您提供有关匈牙利符号的更多详细信息 http://en.wikipedia.org/wiki/Hungarian_notation

于 2010-06-25T04:22:09.060 回答