※ 引述《leicheong (理昌)》之銘言:
> 不要被別人誤導了.
> #define定義的東西在編譯時會自動取代原碼檔中所有相關字串,
> 因此你在debug時看不到#define定義的值是非常正常的.
> 用const的話, 定義的值會佔一段記憶體, 再在執行期間使用時
> 才用mem pointer指向, 做成記憶體使用和實際執行效率上的penalty.
> 部了少數的compiler外, 在用const的方式的時候compiler甚至
> 會有每一個reference到該const的module都定義一次該const,
> 做成進一步的記憶體/模組空間浪費.
應該把宣告放在 header
定義放在模組之中
這樣就不會有重覆定義的問題
> 我不能想像當你把所有#define都換成const的時候, 你的執行
> 碼會「膨脹」多少.
--
※ Origin: SayYA 資訊站 <bbs.sayya.org>
◆ From: arisa.csie.org