2011-01-09 35 views
2

我不知道爲什麼它現在逃脫了我,但是誰能告訴我爲什麼用TAG_前綴命名這麼多結構體?TAG_ C/C++結構上的前綴?

什麼,這是一個記憶,還是一個縮寫?

這似乎是在各種環境中的一個普通不過的慣例,所以一定有它背後的含義。我知道很多人只是得到了「猴子模仿」,隨着時間的流逝,這些事情背後的知識經常會流失。我以爲我曾經自己知道這個故事,但現在我無能爲力。

一個人建議它代表了「實際的膽」的東西,例如TAG_HANDLE是句柄的「膽量」。這並沒有敲響鐘聲,但似乎只是有點太輕浮了。

誰能幫助清除這個我的心理障礙?

+0

這就像有一個叫做'NAMESPACE_MyStuff`在C++中的命名空間。 – dreamlax 2011-01-09 22:47:13

回答

3

這不是一個縮寫,它只是字面上的「標籤」。這是它的技術術語。見例如C99規範第6.7.2.3節。

術語「標籤」經常併入名字只是爲了避免與typedef名稱混亂,例如:

typedef struct tag_blah 
{ 
    ... 
} blah; 
+0

聽起來不錯,這就是我自己「精神上」使用它的方式。我只是有一種感覺,在我腦海裏爬起來,原來還有更多。感謝權威引用! – Bob77 2011-01-09 23:00:12