C ディレクティブ 新しいページはコチラ
提供: yonewiki
(→#error) |
(→#if/#elif/#else/#endif) |
||
166行: | 166行: | ||
− | + | プリプロセッサ演算子のdefined()を比較演算子の結果として利用することができるため | |
+ | <syntaxhighlight lang="cpp"> | ||
+ | #define __MYDIRECTIVE_MACRO__ | ||
+ | |||
+ | … | ||
+ | |||
+ | |||
+ | #if defined(__MYDIRECTIVE_MACRO__) | ||
+ | f = 1; | ||
+ | #else | ||
+ | f = 0; | ||
+ | #endif | ||
+ | </syntaxhighlight> | ||
+ | のように__MYDIRECTIVE_MACRO__というマクロが定義されているかどうかを判定するプリプロセッサ演算子を比較演算子に使うことができます。そのほかの比較演算子としては >=、<=、>、<、==、!= が利用できます。#ifディレクディブの後に続く部分に条件を記述しますが、条件としての比較演算子の演算結果が0なら偽:falseであり、それ以外なら真:trueとなります。条件は比較演算子以外にもマクロの値そのものでも良いです。 #if defined(__MYDIRECTIVE_MACRO__)を#ifdef __MYDIRECTIVE_MACRO__と書き換えることのできる#ifdefディレクティブや#ifndefディレクティブも存在します。 | ||
=='''<nowiki>#</nowiki>ifdef/<nowiki>#</nowiki>ifndef'''== | =='''<nowiki>#</nowiki>ifdef/<nowiki>#</nowiki>ifndef'''== |