C プリプロセッサ演算子 新しいページはコチラ
提供: yonewiki
61行: | 61行: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
と置き換えられる。 | と置き換えられる。 | ||
+ | |||
+ | |||
+ | ==='''<nowiki>##</nowiki>''' トークン連結演算子=== | ||
+ | マクロ引数を利用する際、トークンとして独立していなければ引数として扱われない性質をもっていますが、このトークン連結演算子を使えば、この演算子に続く文字列がマクロ引数の文字列と一致した場合、トークンとしての独立していなくても引数値への置き換え処理を実施し、プログラムソースの文字列と連結することを実現します。 | ||
+ | |||
+ | |||
+ | 例えば以下のように利用することができます。 | ||
+ | <syntaxhighlight lang="cpp"> | ||
+ | #define __MY_MACRO_TOKEN__( parameter ) int nDigit_##parameter = parameter | ||
+ | |||
+ | int _tmain(arg,arg[]){ | ||
+ | __MY_MACRO_TOKEN__(1); | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | は | ||
+ | <syntaxhighlight lang="cpp"> | ||
+ | int _tmain(arg,arg[]){ | ||
+ | int nDigit_1 = 1; | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | のように置き換えられます。 |