メソッドを使用しています
#define CM_VALUE_1 CM_Method(3001)
CM_Method は、同じファイルで定義されたメソッドです。
vc++でCM_Method(3001)
使用して印刷したいだけですCM_VALUE_1
メソッドを使用しています
#define CM_VALUE_1 CM_Method(3001)
CM_Method は、同じファイルで定義されたメソッドです。
vc++でCM_Method(3001)
使用して印刷したいだけですCM_VALUE_1
stringize プリプロセッサ演算子を間接的に使用して、必要なものを取得します。
#define MAKE_STR(X) #X
#define MAKE_STR2(X) MAKE_STR(X)
std::cout << MAKE_STR(CM_VALUE_1)
<< " is " << MAKE_STR2(CM_VALUE_1)
<< std::endl;
結果として
CM_VALUE_1 is CM_METHOD(3001)
パラメータ toMAKE_STR2
自体がマクロである場合は、 を呼び出すときに展開MAKE_STR
されるため、マクロ名そのものではなく、パラメータが定義された内容の文字列化が結果として得られます。