4
Cプリプロセッサにはstringificationという機能があります。これは、マクロパラメータから(狭い)文字列リテラルを作成できる機能です。このように使用することができます:C/C++プリプロセッサのマクロ引数の文字列化への変換
#define PRINTF_SIZEOF(x) printf("sizeof(%s) == %d", #x, sizeof(x))
/* stringification ^^ */
使用例:
PRINTF_SIZEOF(int);
が...印刷することがあります
sizeof(int) == 4
がから広い文字列リテラルを作成する方法マクロパラメータ?つまり、WPRINTF_SIZEOF
はどのように実装できますか?マクロ引数からワイド文字列リテラルを製造するために
#define WPRINTF_SIZEOF(x) wprintf(<what to put here?>)
自己応答は結構ですが、この
WPRINTF_SIZEOF
は、次のように定義することができますそれ以前に何度も答えられ、議論されてきました。ここで1つを参照してください:http://stackoverflow.com/questions/216875/what-are-the-applications-of-the-preprocessor-operator-and-gotchas-to-conside –私は実際に詐欺を見つけることができません。 –
@ P.P。私はあなたのポイントを見ることができません。提供された質問が重複していると述べると、私は強く反対します。それ以外の場合は、複製物へのリンクを提供してください。 – cubuspl42