精華區beta Programming 關於我們 聯絡資訊
※ 引述《yyshan (布丁珍奶加椰果)》之銘言: > > 要用#define的都用#define define了, 還會換回來嗎? > > 我舉的只是針對他對debug時的不習慣提出的compromise吧. > 他的問題是可以解決的 > 方法就是用 const > 用 const 還有許多 #define 沒有的好處 > 當然把所有 #define 直接換成 const 可能會有一些問題 > 不過如果正確使用 > 並不會有你所說的重覆定義問題 > 而且效能幾乎是沒有差異的 > > 我是不會特意去改, 正於我也不建議原發文者特意去改一樣. > > 維護性... 嗎? 你認為#define是為了甚麼被創造出來的? > > 不是為了它的可讀性嗎? > 我的意思當然是和 const 比較 > const 具有型別資訊、可以有 scope、不限於內建型別 請問 const 所放置的 scope,有沒有什麼大家一般遵循的規則呢? 我之前是直覺地把 #define 寫在一個大家都會引入的 typedef.h 中, 不確定如此做是否合適... 且也因 #define 沒有 scope 之分,所以更不會 去思考放哪邊較好的問題。 const 所放置的地方是否恰當,需要考慮什麼呢? > 自然比 #define 更容易維護 > #define 當然是為了可讀性而設計的 > 但易讀的 code 並不等同於易維護的 code > Effective C++ 會把 const/#define 擺在第一條 > 並非沒有道理 -- ※ Origin: SayYA 資訊站 <bbs.sayya.org> ◆ From: 218-161-72-204.dynamic.hinet.net ◆ Modify: 06/05/08 23:52:34 <218-161-72-204.dynamic.hinet.net>