C++預先處理命令

來源:互聯網
上載者:User

C++提供的預先處理功能:宏定義、檔案包含和條件編譯;分別由宏定義命令、檔案包含命令和條件編譯命令三種預先處理命令來實現。

預先處理命令

格     式:     #預先處理命令 …… (末尾不加分號)

範圍:    從定義點到程式結束

說    明:     預先處理命令獨佔一行,位置任意

宏定義命令

格     式:#define 宏名[(形參)] 宏體

                 #undef 宏名[(形參)] 

範圍:從定義點到#undef為止,否則到整個檔案結束。

說    明:宏名可為不帶參數的標識符或帶參數的標識符;

                宏體可以是任意的字元序列,也可是運算式或多個語句;

                關鍵字undef的作用是取消標識符的定義,被取消後的標識符可另作他用;

                形參不是變數,只是一個符號代表,沒有類型標識;

                宏展開只是進行機械的替換。

實    例:

#define PI 3.1415

#define S(R) PI * R * R   //定義宏S(R),求半徑為R的圓的面積

檔案包含命令

格   式:#include <檔案名稱>  或  #include "檔案名稱"

說   明:角括弧表示按系統標準庫路徑去檢索被包含的檔案;

              雙引號表示首先在引用被包含檔案的源檔案所在檔案目錄中尋找被包含檔案,如果找不到被包含檔案,則按系統標準庫路徑尋找被

              包含,或者按雙引號內指定的路徑檢索被包含檔案,若未指定路徑就在目前的目錄尋找被包含檔案;

              包含檔案有兩類:標頭檔(.h)和源檔案(.cpp);

              對系統檔案使用<>,對使用者自訂檔案使用""。

條件編譯命令

格   式:#if …… #endif

            #if …… #else …… #endif

            #if …… #elif …… #elif …… #else …… #endif

            #ifdef …… #else …… #endif

            #ifndef …… #else …… #endif

說   明:使用條件編譯,可以避免在一個程式中重複包含某個標頭檔。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.