をカウントするために、私は文字のリストに文字列を変換するマクロを持っている:マクロ(文字)の引数
例えば#define TO_STRING(x) #x
#define CHAR_LIST_7(x) TO_STRING(x)[0] \
, TO_STRING(x)[1] \
, TO_STRING(x)[2] \
, TO_STRING(x)[3] \
, TO_STRING(x)[4] \
, TO_STRING(x)[5] \
, TO_STRING(x)[6]
使用法: "CHAR_LIST_7(chicken)"は "c"、 "h"、 "i"、 "c"、 "k"、 "e"、 "n" "を与えます。 :http://hpaste.org/47313/exand)
しかし、私はこれを任意の文字数で一般化したいと思います(手作業で文字数をカウントする必要はありません)。だから私は単純に行くことができます:CHAR_LIST(任意のテキスト)。任意のアイデアやソリューションですか?
好奇心ではない:何のために必要なのですか? –
明らかに、C++のメタプログラミング能力の濫用の限界を過ぎています(実際にそこに到達するのに時間はかかりません、btw)。あなたが直面している問題は、実際のものではなく、C++のメタプログラミング限界の小さなケージにあなたの心を込めた意図的な決定によって作られた幽霊であることを認識していますか?あなたが楽しいためにこれを行うなら、brainf ** ckを代わりに使ってC++を生成することに全力で取り組んでみませんか? – 6502
@ 6502、私はこの質問が答え(私によって与えられた)[SOの他の場所](http://stackoverflow.com/a/6191216/146041)から来たと思います。あなたのコメントを愛していますが、私はまさに幽霊と戦うために来ています。私はSOを訪問したときに私のプラグマティズムを忘れています:-) –