Pointers C/C+的前缀+;数据成员/对象

Pointers C/C+的前缀+;数据成员/对象,pointers,naming-conventions,prefix,Pointers,Naming Conventions,Prefix,最近,我越来越多地参与C/C++编程,并注意到人们在代码中命名数据类型的方式出现了一种趋势 我总是看到前缀,如p、m、ui等 例如:mPlayerNames、pData、uiNumResets 我想我明白了,但只是想确认一下:这些前缀是否表示数据类型?i、 e.: mData->数据矩阵(数组) pData->指向数据的指针 uiData->无符号整数数据 等等 这是正确的吗 m - member of a class p - pointer ui - unsigned int lpsz - l

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

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

例如:mPlayerNames、pData、uiNumResets

我想我明白了,但只是想确认一下:这些前缀是否表示数据类型?i、 e.:
mData->数据矩阵(数组)
pData->指向数据的指针
uiData->无符号整数数据
等等

这是正确的吗

m - member of a class
p - pointer
ui - unsigned int
lpsz - long pointer string zero terminated (whew!)
我个人只使用“m”和“p”。在我看来,其余的都很滑稽。这使得密码很难破译


我对这家伙的代码做了维护工作,他在代码中的每个变量、函数和其他标识符上使用了半匈牙利符号类型id前缀。他随意地用$符号来分隔单词。很难控制住凶残的愤怒。

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

此链接提供有关匈牙利符号的更多详细信息
这通常被称为

前缀并不是铁板一块的——它们可能因语言、平台和编程商店而异


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

使用它真的很流行吗?我认为这很常见,但正在失去流行性。现代编辑环境减轻了这种需要。匈牙利符号通常用于命名变量而不是类型。