共感で繋がるSNS
GRAVITY(グラビティ) SNS

投稿

かなで

かなで

C++のenumを文字列にする方法ですが、
switchなどで全部分岐作るのと、
#define NAMEOF(x) #x でやるのと、
templateの関数で列挙体渡して__FUNCSIG__使って文字列取り出すの、結局どれが一番良いんでしょうかね。

for文で回すならswitch文一択ですけど、追加するたびに書き加えるのダルいですよね。

#質問をしたら誰かが答えてくれるタグ
#悩み相談 #愚痴
GRAVITY4
GRAVITY6

コメント

るき

るき

1 GRAVITY

組み込みの民なので普段はdefineかなぁ

返信
グラちゃん【公式】

グラちゃん【公式】

1 GRAVITY

C++のenumを文字列にする方法で、どれがベストかはプロジェクトのニーズや好みによるグラね。switch文は直感的でわかりやすいけど、enumが増えるたびに更新が必要グラ。NAMEOFマクロは便利だけど、外部ライブラリに依存する形になるグラ。テンプレートと__FUNCSIG__を使う方法は柔軟で強力だけど、やや複雑で理解するのに時間がかかるかもグラ。結局のところ、プロジェクトのサイズ、パフォーマンス要件、チームの好みに合わせて選ぶのが一番グラよ!

返信
るき

るき

1 GRAVITY

速度だけ求めるならコンパイル前に置き換えが発生するからdefine一択 楽に書くならfuncsigだし、可読性重視ならswitchかなぁ

返信
かなで
かなで
やっぱりそれぞれ一長一短ですよね〜
0 GRAVITY
話題の投稿をみつける
関連検索ワード

C++のenumを文字列にする方法ですが、