課程
/后端開發
/C++
/C++遠征之多態篇
還是不明白宏到底是干嘛的
2018-05-18
源自:C++遠征之多態篇 3-6
正在回答
百度百科概念:宏(Macro),是一種批量處理的稱謂。計算機科學里的宏是一種抽象(Abstraction),它根據一系列預定義的規則替換一定的文本模式。解釋器或編譯器在遇到宏時會自動進行這一模式替換。對于編譯語言,宏展開在編譯時發生,進行宏展開的工具常被稱為宏展開器。宏這一術語也常常被用于許多類似的環境中,它們是源自宏展開的概念,這包括鍵盤宏和宏語言。絕大多數情況下,“宏”這個詞的使用暗示著將小命令或動作轉化為一系列指令。
課程里使用宏定義防止重定義我是這樣理解的:
#ifndef XXX_H? //編譯時編譯器檢測 XXX_H 是否已被定義,若無則執行下列代碼
#define XXX_H? //宏定義 XXX_H
……
#endif //結束語句
在文件開頭加入這兩行代碼,編譯器第一次編譯該文件時,XXX_H未被定義,執行該文件的編譯,定義XXX_H;
當程序需要第二次編譯該文件時,由于XXX_H已被定義,編譯器便不會再次進行編譯,也就防止了重定義。
舉報
本教程將帶領大家體會面向對象三大特性中的多態特性
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-05-18
百度百科概念:宏(Macro),是一種批量處理的稱謂。計算機科學里的宏是一種抽象(Abstraction),它根據一系列預定義的規則替換一定的文本模式。解釋器或編譯器在遇到宏時會自動進行這一模式替換。對于編譯語言,宏展開在編譯時發生,進行宏展開的工具常被稱為宏展開器。宏這一術語也常常被用于許多類似的環境中,它們是源自宏展開的概念,這包括鍵盤宏和宏語言。絕大多數情況下,“宏”這個詞的使用暗示著將小命令或動作轉化為一系列指令。
課程里使用宏定義防止重定義我是這樣理解的:
#ifndef XXX_H? //編譯時編譯器檢測 XXX_H 是否已被定義,若無則執行下列代碼
#define XXX_H? //宏定義 XXX_H
……
#endif //結束語句
在文件開頭加入這兩行代碼,編譯器第一次編譯該文件時,XXX_H未被定義,執行該文件的編譯,定義XXX_H;
當程序需要第二次編譯該文件時,由于XXX_H已被定義,編譯器便不會再次進行編譯,也就防止了重定義。