建筑專業(yè)網(wǎng)站有哪些哪里能搜索引擎優(yōu)化
源程序編譯預(yù)處理命令一律以‘#’開頭
5.1宏定義
不帶參數(shù)的宏定義
# define 宏名 字符串
宏命令之后,出現(xiàn)宏名的地方均用其對應(yīng)的字符串來替換。
宏替換是一種”機(jī)械替換“,宏定義語句后一般不加分號,因?yàn)樗鼉H具有替換功能,并不是具體的代碼語句,如果行末有分號,那么分號也屬于替換對象的一部分。
注意:
- 宏展開只是一個簡單的機(jī)械替換,不做語法檢查,不是一個語句,其后不加“;”
- #define命令出現(xiàn)在函數(shù)外面,其有效范圍定義處至本源文件結(jié)束,可以用#undef命令終止宏定義的作用域
- 在進(jìn)行宏定義中,可以用已定義的宏名,進(jìn)行進(jìn)行層層置換
- 對程序中用雙引號括起來的字符串內(nèi)容,即使與宏名相同,也不進(jìn)行置換
?帶參數(shù)的宏定義
格式:#define 宏名(參數(shù)表)? ?字符串
例如:#define S(a,b)? ?a*b? ? ? ? ? ? ? ? ??
?宏展開只占用編譯時間,不占用運(yùn)行時間
5.2文件包含
格式:#include<文件名>或#include "文件名"
注意:一個include命令只包含一個頭文件。文件包含的命令必須是文本文件(ASCII碼文件),一般是C++源文件或系統(tǒng)庫文件。