請幫忙點一下!謝謝!

2015年9月29日 星期二

15. C++ 前處理指令

前處理指令可以要求前處理器 ( 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 _ _    編譯時間

沒有留言: