オブジェクト類似マクロ

オブジェクト類似マクロ定義 は、 単一の ID を指定された置換トークンに置き換えます。 以下のオブジェクト類似の定義を使用すると、プリプロセッサーは、ID COUNT のこれ以降のすべてのインスタンスを、定数 1000 に置き換えます。

#define COUNT 1000

次のステートメント

int arry[COUNT];

が、この定義の後、かつ定義と同じファイル内に現れると、プリプロセッサーは、 このステートメントをプリプロセッサーの出力で、以下のステートメントのように変更します。

int arry[1000];

他の定義が ID COUNT を参照することができます。

#define MAX_COUNT COUNT + 100

プリプロセッサーは、MAX_COUNT のこれ以降の出現を COUNT + 100 に置き換えます。 これを、プリプロセッサーは、さらに 1000 + 100 に置き換えます。

マクロ展開によって部分的に構築された番号が作成された場合、プリプロセッサーは、 その結果を単一の値であるとは見なしません。 例えば、以下の結果は 10.2 という値にはならず、構文エラーになります。

#define a 10
a.2

マクロ展開によって部分的に構築される ID は、作成されない場合があります。 したがって、以下の例は、2 つの ID を含んでいて、結果は構文エラーとなります。

#define d efg
abcd

関連参照

IBM Copyright 2003