我瀏覽了一些開源C ++代碼,發現在代碼中使用了很多雙下劃線,主要是在變量名的開頭。return __CYGWIN__;只是想知道這是有原因的,還是僅僅是某些人編寫了代碼樣式?我認為我很難閱讀。
3 回答
搖曳的薔薇
TA貢獻1793條經驗 獲得超6個贊
來自C ++編程,規則和建議:
根據ANSI-C標準,在標識符中使用兩個下劃線(__)保留給編譯器內部使用。
下劃線(“ _”)通常用于庫函數的名稱(例如“ _main”和“ _exit”)。為了避免沖突,請勿以下劃線開頭標識符。
幕布斯6054654
TA貢獻1876條經驗 獲得超7個贊
除非他們認為它們是“實現的一部分”,即標準庫,否則它們就不應該。
這些規則是相當具體的,比其他一些建議更詳細。
保留所有包含雙下劃線或以下劃線后跟大寫字母開頭的標識符,以供在所有范圍內使用該實現,即,它們可用于宏。
此外,所有其他以下劃線開頭的標識符(即后跟另一個下劃線或大寫字母的標識符)都保留給全局范圍內的實現。這意味著您可以在自己的名稱空間或類定義中使用這些標識符。
這就是為什么Microsoft在其許多核心運行時庫函數(不屬于C ++標準)中使用帶下劃線的函數名,并用小寫表示的原因。這些函數名稱保證不會與標準C ++函數或用戶代碼函數沖突。
開滿天機
TA貢獻1786條經驗 獲得超13個贊
前面的評論是正確的。 __Symbol__通常是有用的編譯器(或預處理器)供應商提供的魔術令牌。也許其中使用最廣泛的是__FILE__和__LINE__,它們由C預處理程序擴展以指示當前的文件名和行號。當您要記錄某種程序斷言失?。òㄥe誤的文本位置)時,這很方便。
- 3 回答
- 0 關注
- 2301 瀏覽
添加回答
舉報
0/150
提交
取消
