2010-06-25 53 views
1

最近我越來越多地參與到C/C++編程中,並且已經注意到人們在其代碼中命名數據類型的趨勢。C/C++數據成員/對象的前綴

我總是看到前綴,如P,M,UI等

例如:mPlayerNames中,pdata,uiNumResets

我想我得到它,但只是爲了確認:這些前綴指示數據類型?即:
MDATA - >矩陣(陣列)數據
pData中的 - >指針數據
uiData - > unsigned int的數據
等等

這是正確的嗎?

+0

匈牙利符號往往用於命名變量而不是類型。 – Johnsyweb 2010-06-25 04:46:57

回答

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

我個人只使用'm'和'p'。其餘的只是我的觀點。它使代碼很難破譯。

我對這個傢伙的代碼做了維護工作,他們在代碼中的每個變量,函數和其他標識符上使用了半匈牙利符號類型ID前綴。他用寬大的標誌分開單詞。很難保持這種兇殘的憤怒。

+0

使用它真的很受歡迎嗎? – Russel 2010-06-25 04:35:07

+0

我想說這很常見,但失去了人氣。現代編輯環境減輕了這種需要。 – 2010-06-25 04:42:11

1

這通常被稱爲Hungarian notation更多細節。

對前綴沒有任何含義 - 它們可能因語言,平臺和編程商店而異。

是的,你的解釋可能是正確的 - p和ui是常見的,你必須檢查你的環境中的m是否指的是Matrix,儘管它可能指向一個類成員。