## によるトークンの結合

提供: Appmethod Topics
移動先: 案内検索

マクロの定義と定義解除:インデックス への移動

2 つのトークンを ## で分けて記述する(## の前後にホワイトスペースがあってもよい)ことにより,その 2 つのトークンを結合(マージ)することができます。プリプロセッサはホワイトスペースと ## を除去し,分かれている 2 つのトークンを 1 つの新しいトークンにまとめます。これを使って,識別子を組み立てることができます。

次の定義があると,

#define VAR(i, j) (i##j)

VAR(x, 6) という呼び出しは (x6) に展開されます。これを使うと,(i/**/j) を使った移植性の低い旧式の方法を置き換えることができます。