Префиксы для членов / объектов данных C / C ++ - PullRequest
1 голос
/ 25 июня 2010

В последнее время я все больше и больше занимаюсь программированием C / C ++ и заметил тенденцию в том, как люди называют типы данных в своем коде.

Я всегда вижу такие префиксы, как p, m, ui и т. Д.

Например: mPlayerNames, pData, uiNumResets

Я думаю, что понял, но только для подтверждения: эти префиксы указывают тип данных? i.e.:
mData -> Матрица (массив) данных
pData -> указатель на данные
uiData -> unsigned int Data
и т.д ...

Это правильно?

Ответы [ 3 ]

2 голосов
/ 25 июня 2010
m - member of a class
p - pointer
ui - unsigned int
lpsz - long pointer string zero terminated (whew!)

Лично я использую только 'm' и 'p'.Остальное просто сумасшедшее, на мой взгляд.Это делает код настолько чертовски трудным для расшифровки.

Я выполнял работу по обслуживанию кода этого парня, который использовал полу-венгерские префиксы идентификатора типа записи для каждой переменной, функции и другого идентификатора в коде.Он свободно использовал знаки $ для разделения слов.Было трудно сдержать убийственную ярость.

1 голос
/ 25 июня 2010

Это обычно известно как Венгерская нотация .

В префиксах нет ничего железного - они могут различаться в зависимости от языка, платформы и магазина программирования.

И да, ваши интерпретации, вероятно, правильные - p и ui являются общими, и вам нужно проверить, действительно ли m относится к Matrix в вашей среде, хотя это может относиться к члену класса.

0 голосов
/ 25 июня 2010

Да, вы в некотором смысле правы

Эта ссылка предоставляет вам более подробную информацию о венгерской записи http://en.wikipedia.org/wiki/Hungarian_notation

...