掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
switch文中のマクロ (ID:59041)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
複数行に展開されるマクロっつーことで… 頻繁に追加・削除が発生する文字列群を用意して、それぞれの文字列長をコンパイルタイム に求めておきたい場合に、こんなの使いました。 #define STRINGS(ENTRY) \ ENTRY(a), \ ENTRY(bb), \ ENTRY(ccc), \ ENTRY(dddd) #define TO_STRING(x) #x #define TO_LENGTH(x) (sizeof(TO_STRING(x)) - 1) const char* str_array[] = { STRINGS(TO_STRING) }; const int length_array[] = { STRINGS(TO_LENGTH) }; STRINGSにENTRYを追加・削除するだけでOK。 さて、C++的にはどう書くのがスマートなんでしょうか?
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.