精華區beta Programming 關於我們 聯絡資訊
※ 引述《yyshan (布丁珍奶加椰果)》之銘言: > 最後,你不覺得 #define 才會讓體積變大嗎?比如說你在 header 中定義 > 了一個很大的字串,然後在許多不同的模組中使用它,這麼一來馬上就發生 > 你所說的重覆定義問題。 如果寫header的人沒有正確使用#ifndef的話, 是會有重覆定義. 不過這也只是使用者使用失當而已. 事實上你所舉的例子也是用const比較方便debug吧, 這點我也同意. 不過為效能著想, 也建議在debug完成後把這些const宣告換回#define. 至於你最後舉的問題, 這涉及#define的內容: - 如果#define的內容是primitive type(byte, int, long等), #define 的空間使用和執行效能是必定高於const的. - 如果#define的內容是string的話, 才會出現你說的情況. 不過也只是 體積增大了, 不會影響執行效能. (忽略loading time的話) 如原發文者最初打算那樣, 把全部#define換成const的話, 結果肯定是 弊多於利的. btw, 其實在primitive type的時候, enum關鍵字也提供了另一種選擇. -- ※ Origin: SayYA 資訊站 <bbs.sayya.org> ◆ From: ip-84-126-134-202.rev.dyxnet.com