# 演算子

# (単一番号記号) 演算子は、 関数類似マクロのパラメーターを文字ストリング・リテラルに変換します。 例えば、以下のディレクティブを使用してマクロ ABC が定義される場合、

   #define ABC(x)   #x

これ以降のマクロ ABC の起動はすべて、ABC に渡された引き数を含む文字ストリング・リテラルに展開されます。 次に例を示します。

呼び出し マクロ展開の結果
ABC(1) "1"
ABC(Hello there) "Hello there"

# 演算子を、ヌル・ディレクティブと混同してはなりません。

# 演算子は、下記の規則に従って、関数類似マクロ定義で 使用してください。

# 演算子の例

以下の例は、# 演算子の使用法を示したものです。

   #define STR(x)        #x
   #define XSTR(x)       STR(x)
   #define ONE           1

呼び出し マクロ展開の結果
STR(¥n "¥n" '¥n') "¥n ¥"¥¥n¥" '¥¥n'"
STR(ONE) "ONE"
XSTR(ONE) "1"
XSTR("hello") "¥"hello¥""

関連参照

IBM Copyright 2003