[問題] 絕不使用單一底線開頭的名稱

看板C_and_CPP作者 (Ar藤)時間13年前 (2011/11/04 23:19), 編輯推噓1(107)
留言8則, 3人參與, 最新討論串1/2 (看更多)
在C++編程規範一書中 第0項條款 有寫到 絕不使用所謂「私密名稱」,亦即以單一底線開頭的名稱,或包含連續兩個底線 的名稱。 請問這是什麼原因, 有一些forum 三不五時會看到有人變數命名就是 _something 小弟個人是很討厭底線開頭的名稱(因為要多按shift 而且又難看) 不過這裡直接列為「絕不使用」 不知是什麼原因?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.140.149

11/05 07:25, , 1F
Readability,應該就只是一種coding standard而已
11/05 07:25, 1F

11/05 07:31, , 2F
有看過不用 __ 開頭的名字的理由是它有可能會和編譯器內部的
11/05 07:31, 2F

11/05 07:32, , 3F
的名字衝突 如 #1EiFty_y 的 __builtin_types_compatible_p
11/05 07:32, 3F

11/05 07:33, , 4F
不過單一底線我倒覺得用得好的話沒差...
11/05 07:33, 4F

11/05 07:33, , 5F
(嘛, 有點像 C++ FAQ 裡說什麼東東是 evil 這樣的感覺 XD)
11/05 07:33, 5F

11/05 07:35, , 6F
或者啦, 不用單底線開頭可能是怕在混寫 C 和組合語言時搞混
11/05 07:35, 6F

11/05 07:35, , 7F
畢竟 C 語言函式編譯出來的符號是前置一個底線的
11/05 07:35, 7F

11/05 15:38, , 8F
$ 在 C/C++ 好像也可以當變數名,但asm會錯 XD
11/05 15:38, 8F
文章代碼(AID): #1Ej7BhL5 (C_and_CPP)
文章代碼(AID): #1Ej7BhL5 (C_and_CPP)