2014年10月25日 星期六

C++風格與藝術 CH10 前置處理器

#define name Substitue_text
name 為任意變數
Substitue_text 可以為任意內容,包含空白 括號等皆可

e.g.
#define FOR_ALL for (i=0;i<array_size;++i)

定義常數上const 較 define為佳
1. const 為C++語法 define不是
2. C++會立即檢查const的語法是否有錯,但define會在巨集呼叫才檢測
3. const 適用c++的有效範圍規定,但define一律是全域宣告

define在條件編譯和其他特定應用上較有優勢




沒有留言:

張貼留言