## (二重番号記号) 演算子は、マクロ定義に含まれるマクロの起動 (テキストまたは引き数、あるいはその両方) における 2 つのトークンを連結します。
以下のディレクティブを使用して、マクロ XY が定義された場合、
#define XY(x,y) x##y
x に対する引き数の最後のトークンは、y に対する引き数の最初のトークンと連結されます。
## 演算子は、以下の規則に従って使用します。
## 演算子の例
以下の例は、## 演算子の使用法を示したものです。
#define ArgArg(x, y) x##y #define ArgText(x) x##TEXT #define TextArg(x) TEXT##x #define TextText TEXT##text #define Jitter 1 #define bug 2 #define Jitterbug 3
呼び出し | マクロ展開の結果 |
---|---|
ArgArg(lady, bug) | "ladybug" |
ArgText(con) | "conTEXT" |
TextArg(book) | "TEXTbook" |
TextText | "TEXTtext" |
ArgArg(Jitter, bug) | 3 |
関連参照