X-マクロのトピックを詳細に理解しようとしています。しかし、これについて完全な明確さは得られませんでした。どなたか専門家の方が「使い方、呼び出し方」を例に挙げて説明してくださると助かります。
いくつかの記事を見つけましたが、これについて完全に明確にすることはできませんでした。すべての場所で、それらの X マクロの使用が不足しているコードを使用しています。
よろしくお願いします
基本的に#define
、変数のリストをプレースホルダー マクロのパラメーターとして使用しますX
。
#define X_LIST_OF_VARS \
X(my_first_var) \
X(another_variable) \
X(and_another_one)
次に、テンプレートを使用します。
#define X(var) do something with var ...
X_LIST_OF_VARS
#undefine X
コードブロックを作る。たとえば、すべての変数を出力するには:
#define X(var) printf("%d\n", var);
X_LIST_OF_VARS
#undefine X
生成されます:
printf("%d\n", my_first_var);
printf("%d\n", another_variable);
printf("%d\n", and_another_one);