精華區beta Programming 關於我們 聯絡資訊
※ 引述《yyshan (布丁珍奶加椰果)》之銘言: > ※ 引述《leicheong (理昌)》之銘言: > > 不要被別人誤導了. > > #define定義的東西在編譯時會自動取代原碼檔中所有相關字串, > > 因此你在debug時看不到#define定義的值是非常正常的. > > 用const的話, 定義的值會佔一段記憶體, 再在執行期間使用時 > > 才用mem pointer指向, 做成記憶體使用和實際執行效率上的penalty. > > 部了少數的compiler外, 在用const的方式的時候compiler甚至 > > 會有每一個reference到該const的module都定義一次該const, > > 做成進一步的記憶體/模組空間浪費. > 應該把宣告放在 header > 定義放在模組之中 > 這樣就不會有重覆定義的問題 這樣的話, 為何不直接用#define, 把overhead都集中到compile time 呢? -- ※ Origin: SayYA 資訊站 <bbs.sayya.org> ◆ From: ip-84-126-134-202.rev.dyxnet.com