C プリプロセッサ演算子 新しいページはコチラ
提供: yonewiki
82行: | 82行: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
のように置き換えられます。 | のように置き換えられます。 | ||
+ | |||
+ | |||
+ | ==='''defined()''' Defined演算子=== | ||
+ | #if や #elif のようなディレクティブのあとの条件やその他のマクロ定義の返却値として利用することができる演算子で引数に記述した文字列がマクロ定義されていれば返却値は1で定義がなければ返却値は0となる演算子です。マクロ定義がされているかされていないかの結果を数値と返却した値に置き換えてくれる演算子です。 | ||
+ | |||
+ | |||
+ | 具体的には以下のように利用することができます。 | ||
+ | <syntaxhighlight lang="cpp"> | ||
+ | #define __MY_MACRO__ | ||
+ | |||
+ | int _tmain(arg,arg[]){ | ||
+ | int Macro; | ||
+ | #if defined(__MY_MACRO__) | ||
+ | Macro = 1 | ||
+ | #else | ||
+ | Macro = 0 | ||
+ | #endif | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | は | ||
+ | <syntaxhighlight lang="cpp"> | ||
+ | int _tmain(arg,arg[]){ | ||
+ | int Macro; | ||
+ | #if 1 | ||
+ | Macro = 1 | ||
+ | #else | ||
+ | Macro = 0 | ||
+ | #endif | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | のように置き換えられ、最終的には | ||
+ | <syntaxhighlight lang="cpp"> | ||
+ | int _tmain(arg,arg[]){ | ||
+ | int Macro; | ||
+ | Macro = 1 | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | となります。 |