このように使用すると、次のようなマクロを定義したいと思います。
ADD_TO_OPS("abc", 3)
ADD_TO_OPS("cdef", 2)
ADD_TO_OPS("xx", 4)
、次のようなものが生成されます:
#define OPS_NAMES "abc", "cdef", "xx"
#define OPS_VALUES 3, 2, 4
言い換えれば、私は次のことをしたいと思っADD_TO_OPS(NAME, VALUE)
ています(次のコードは機能しません、私がやりたいことをあなたに見せてください):
#ifdef OPS_NAMES
# define OPS_NAMES2 OPS_NAMES, NAME
# undef OPS_NAMES
#else
# define OPS_NAMES2 NAME
#endif
#define OPS_NAMES OPS_NAMES2
#undef OPS_NAMES2
#ifdef OPS_VALUES
# define OPS_VALUES2 OPS_VALUES, VALUE
# undef OPS_VALUES
#else
# define OPS_VALUES2 VALUE
#endif
#define OPS_VALUES OPS_VALUES2
#undef OPS_VALUES2