#define
是 C/C++ 語言中用來定義宏的關鍵字,其中 #define
后面跟著宏名和宏的定義。#define
定義的宏可以用來定義常量、函數宏、條件編譯等。
例如:
#define PI 3.14159
#define MAX(a, b) ((a) > (b) ? (a) : (b))
#define DEBUG 1
在上面的例子中,PI
被定義為 3.14159,MAX(a, b)
被定義為返回 a 和 b 中較大的數,DEBUG
被定義為 1。宏的定義中可以包含參數,并可以在宏的定義中使用這些參數。
在使用宏時,可以通過在宏名前加上 #
或 ##
來對宏進行特殊處理。#
會將宏參數轉換為字符串,##
用來拼接兩個參數。
例如:
#define STRINGIFY(x) #x
#define CONCAT(a, b) a##b
STRINGIFY(test) // 輸出為 "test"
CONCAT(foo, bar) // 輸出為 foobar
需要注意的是,宏在預處理階段被展開,在編譯時會被替換為宏的定義內容,因此在使用宏時要注意展開后的結果是否符合預期。