前處理指令可以要求前處理器 ( preprocessor ) 在程式編譯之前
先行加入其他檔案的內容、文字取代以及選擇性編譯等工作
1. 前處理指令 #include
不屬於C++敘述,不用";"做結尾,以"#"為開頭
EX: #include <iomanip> 這標頭檔管理輸入與輸出資料格式的功能
2. 使用#define進行文字取代
1. 宣告某一個代號的值,以便於自動取代
2. 產生以符號代表的常數 --> 符號常數
3. 產生以符號代表的一系列操作 --> 巨集
4. 宣告某一個代號已經被設定
EX: #define 代號 取代文字
#define and &&
#define or ||
#define not !
在程式中使用口語的 and or not
代替邏輯運算符號的 and or not
3. 宣告符號常數
1. 以#define 開頭的前處理指令可以用來定義符號常數
EX: # define PI 3.1415926
# define RAND_MAX 0x7FFFU
2. 由於這指令完成的事文字直接取代的工作,
因此隨後編譯氣無法進行"資料型態"的檢查工作!
3. 比較好的做法是使用"const"敘述來定義符號
EX: const double PI = 3.1415926;
4. 可以利用三角函數來求得更精確的數值
EX: const double PI = 2.0 * asin(1.0);
4. 前處理指令內禁用的代號
1. _ _ LINE _ _ 行號
2. _ _ FILE _ _ 檔名
3. _ _ DATA _ _ 編譯日期
4. _ _ TIME _ _ 編譯時間
沒有留言:
張貼留言